1#!/usr/bin/python3 2# all arguments to this script are considered as json files 3# and attempted to be formatted alphabetically 4 5import json 6import os 7from sys import argv 8 9files = argv[1:] 10 11for file in files[:]: 12 if os.path.isdir(file): 13 files.remove(file) 14 for f in os.listdir(file): 15 files.append(os.path.join(file, f)) 16 17for file in files: 18 print("formatting file {}".format(file)) 19 with open(file) as f: 20 j = json.load(f) 21 22 if isinstance(j, list): 23 for item in j: 24 item["Exposes"] = sorted(item["Exposes"], key=lambda k: k["Type"]) 25 else: 26 j["Exposes"] = sorted(j["Exposes"], key=lambda k: k["Type"]) 27 28 with open(file, 'w') as f: 29 f.write(json.dumps(j, indent=4, sort_keys=True, separators=(',', ': '))) 30