def dump()

in glean_parser/__main__.py [0:0]


def dump(input, allow_reserved, allow_missing_files, require_tags):
    """
    Dump the list of metrics/pings as JSON to stdout.
    """

    results = glean_parser.parser.parse_objects(
        [Path(x) for x in input],
        {
            "allow_reserved": allow_reserved,
            "allow_missing_files": allow_missing_files,
            "require_tags": require_tags,
        },
    )
    errs = list(results)
    assert len(errs) == 0

    metrics = {
        metric.identifier(): metric.serialize()
        for category, probes in results.value.items()
        for probe_name, metric in probes.items()
    }

    def date_serializer(o):
        if isinstance(o, datetime.datetime):
            return o.isoformat()

    print(
        json.dumps(
            metrics,
            sort_keys=True,
            indent=2,
            separators=(",", ": "),
            default=date_serializer,
        )
    )