| #!/usr/bin/python3 | 
 | # all arguments to this script are considered as json files | 
 | # and attempted to be formatted alphabetically | 
 |  | 
 | import json | 
 | import os | 
 | from sys import argv | 
 |  | 
 | files = argv[1:] | 
 |  | 
 | for file in files[:]: | 
 |     if os.path.isdir(file): | 
 |         files.remove(file) | 
 |         for f in os.listdir(file): | 
 |             files.append(os.path.join(file, f)) | 
 |  | 
 | for file in files: | 
 |     if not file.endswith('.json'): | 
 |         continue | 
 |     print("formatting file {}".format(file)) | 
 |     with open(file) as f: | 
 |         j = json.load(f) | 
 |  | 
 |     if isinstance(j, list): | 
 |         for item in j: | 
 |             item["Exposes"] = sorted(item["Exposes"], key=lambda k: k["Type"]) | 
 |     else: | 
 |         j["Exposes"] = sorted(j["Exposes"], key=lambda k: k["Type"]) | 
 |  | 
 |     with open(file, 'w') as f: | 
 |         f.write(json.dumps(j, indent=4, sort_keys=True, separators=(',', ': '))) | 
 |         f.write('\n') |