in mozilla_schema_generator/__main__.py [0:0]
def dump_schema(schemas, out_dir, pretty, *, version=1):
json_dump_args = {"cls": SchemaEncoder}
if pretty:
json_dump_args.update(
{"indent": 4, "separators": (",", ":"), "sort_keys": True}
)
if not out_dir:
print(json.dumps(schemas, **json_dump_args))
else:
for name, schema in schemas.items():
# Bug 1601270; we transform ping names from snake_case to kebab-case;
# we can remove this line once all snake_case probes have converted.
name = name.replace("_", "-")
ping_out_dir = out_dir.joinpath(name)
if not ping_out_dir.exists():
ping_out_dir.mkdir(parents=True)
fname = ping_out_dir.joinpath("{}.{}.schema.json".format(name, version))
with open(fname, "w") as f:
f.write(json.dumps(schema, **json_dump_args))