#!/usr/bin/env python import sys import yaml magic = [ '### --- diclst --- ###' ] def conv(o): typ = type(o) if typ == dict: lst = sorted( map( lambda kv: [ kv[0], conv(kv[1]) ], o.items() ), key=lambda kv: kv[0] ) return magic + lst if typ == list: if o[:1] == magic: return dict( map( lambda kv: ( kv[0], conv(kv[1]) ), o[1:] ) ) else: return list( map(conv, o) ) return o if __name__ == "__main__": s = sys.stdin.read() o = yaml.load(s) o = conv(o) s = yaml.dump(o, default_flow_style=False) sys.stdout.write(s) # EOF