format_json.py
1 import sys 2 import json 3 import collections 4 5 # Change this it True if you want to format it to compare versions. 6 pretty = False 7 8 with open(sys.argv[1], "r") as f: 9 config = json.load(f) 10 11 print(config.keys()) 12 13 config["middlewares"].sort(key=lambda x: x["identifier"]) 14 config["drivers"].sort(key=lambda x: x["identifier"]) 15 16 new_root = collections.OrderedDict() 17 for key in ['jsonForm', 'formatVersion', 'board', 'identifier', 'name', 'details', 'application', 'middlewares', 'drivers', 'pads']: 18 new_root[key] = config[key] 19 20 with open(sys.argv[1], "w") as f: 21 indent = 2 22 separators = (',', ': ') 23 sort_keys = True 24 if not pretty: 25 indent = None 26 separators = (',', ':') 27 sort_keys = False 28 json.dump(new_root, f, 29 indent=indent, separators=separators, sort_keys=sort_keys)