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 if not file.endswith(".json"): 19 continue 20 print("formatting file {}".format(file)) 21 with open(file) as f: 22 j = json.load(f) 23 24 if isinstance(j, list): 25 for item in j: 26 item["Exposes"] = sorted(item["Exposes"], key=lambda k: k["Type"]) 27 else: 28 j["Exposes"] = sorted(j["Exposes"], key=lambda k: k["Type"]) 29 30 with open(file, "w") as f: 31 f.write( 32 json.dumps(j, indent=4, sort_keys=True, separators=(",", ": ")) 33 ) 34 f.write("\n") 35