You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
477 B
Python

"""filters for metadata"""
def get_metadata(output, key, mimetype=None):
"""Resolve an output metadata key
If mimetype given, resolve at mimetype level first,
then fallback to top-level.
Otherwise, just resolve at top-level.
Returns None if no data found.
"""
md = output.get("metadata") or {}
if mimetype and mimetype in md:
value = md[mimetype].get(key)
if value is not None:
return value
return md.get(key)