def apply_default_metadata()

in mozilla_schema_generator/glean_ping.py [0:0]


    def apply_default_metadata(ping_metadata, default_metadata):
        """apply_default_metadata recurses down into dicts nested
        to an arbitrary depth, updating keys. The ``default_metadata`` is merged into
        ``ping_metadata``.
        :param ping_metadata: dict onto which the merge is executed
        :param default_metadata: dct merged into ping_metadata
        :return: None
        """
        for k, v in default_metadata.items():
            if (
                k in ping_metadata
                and isinstance(ping_metadata[k], dict)
                and isinstance(default_metadata[k], dict)
            ):
                GleanPing.apply_default_metadata(ping_metadata[k], default_metadata[k])
            else:
                ping_metadata[k] = default_metadata[k]