Closed rnestler closed 7 years ago
I updated it with the following script:
import sys import json import collections assert(len(sys.argv) > 1) with open(sys.argv[1]) as f: specs = json.loads(f.read(), object_pairs_hook=collections.OrderedDict) def parse_object(name, value): required_properties = [] if "properties" in value: for prop_name, prop in value["properties"].items(): if "required" in prop: if prop["required"] == True: required_properties.append(prop_name) del prop["required"] parse(name + "." + prop_name, prop) if len(required_properties) > 0: value["required"] = required_properties print(name, required_properties) def parse_array(name, value): parse(name + ".items", value["items"]) def parse(name, value): if value["type"] == "object": parse_object(name, value) if value["type"] == "array": parse_array(name, value) parse("root", specs) out_file = sys.argv[2] if len(sys.argv) >= 3 else sys.argv[1] print(out_file) with open(out_file, "w") as f: f.write(json.dumps(specs, indent=2))
Edit: updated the script
Harakiri-Merge 😉
I updated it with the following script:
Edit: updated the script