#!/usr/bin/env python import sys import yaml import six def cv_amp(s, d='enc'): lst = [ ('&','&'), ('<','<'), ('>','>') ] if d != 'enc': lst = reversed(lst) for (f, t) in lst: if d != 'enc': (f, t) = (t, f) s = s.replace(f, t) return s def html_dump(o): if not o: return '' if type(o) == list: return '\n'.join( map(html_dump, o) ) if type(o) == dict: (tag, v) = list( o.items() )[0] s = '<' + tag + '>' if v != '/': s += html_dump(v) + '' return s return cv_amp(o) if __name__ == "__main__": fi = sys.stdin if six.PY2 else sys.stdin.buffer s = fi.read() s = unicode(s, 'utf-8') if six.PY2 else s.decode() o = yaml.load(s) s = html_dump(o) + '\n' s = s.encode('utf-8') if six.PY2 else s.encode() fo = sys.stdout if six.PY2 else sys.stdout.buffer fo.write(s) # EOF