+def dump_api_support(supp, api, indent):
+ if supp.core_version:
+ print(indent+"core in version {}".format(supp.core_version))
+ if supp.deprecated_version:
+ print(indent+"deprecated in version {}".format(supp.deprecated_version))
+ for e in supp.extensions:
+ print(indent+"extension {} (preference {})".format(e.name, e.preference))
+ for r in supp.sources:
+ print(indent+"source {}".format(r.name))
+ dump_thing_info(r, api, indent+" ")
+
+def dump_thing_info(thing, api, indent):
+ for a in thing.aliases:
+ print(indent+"alias {}".format(a))
+ if api:
+ supp = thing.api_support.get(api)
+ dump_api_support(supp, api, indent)
+ else:
+ for a, s in thing.api_support.items():
+ print(indent+"api {}".format(a))
+ dump_api_support(s, a, indent+" ")
+
+