#!/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")