Changeset View
Changeset View
Standalone View
Standalone View
swh/indexer/metadata.py
Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | ) -> List[OriginExtrinsicMetadataRow]: | ||||
if data.authority.type != MetadataAuthorityType.FORGE: | if data.authority.type != MetadataAuthorityType.FORGE: | ||||
# metadata provided by a third-party; don't trust it | # metadata provided by a third-party; don't trust it | ||||
# (technically this could be handled below, but we check it here | # (technically this could be handled below, but we check it here | ||||
# to return early; sparing a translation and origin lookup) | # to return early; sparing a translation and origin lookup) | ||||
# TODO: add ways to define trusted authorities | # TODO: add ways to define trusted authorities | ||||
return [] | return [] | ||||
metadata_items = [] | metadata_items = [] | ||||
mappings = [] | mappings: List[str] = [] | ||||
for (mapping_name, mapping) in EXTRINSIC_MAPPINGS.items(): | for mapping_cls in EXTRINSIC_MAPPINGS.values(): | ||||
if data.format in mapping.extrinsic_metadata_formats(): | if data.format in mapping_cls.extrinsic_metadata_formats(): | ||||
metadata_item = mapping().translate(data.metadata) | mapping = mapping_cls() | ||||
metadata_item = mapping.translate(data.metadata) | |||||
if metadata_item is not None: | if metadata_item is not None: | ||||
metadata_items.append(metadata_item) | metadata_items.append(metadata_item) | ||||
mappings.append(mapping_name) | mappings.append(mapping.name) | ||||
if not metadata_items: | if not metadata_items: | ||||
# Don't have any mapping to parse it, ignore | # Don't have any mapping to parse it, ignore | ||||
return [] | return [] | ||||
# TODO: batch requests to origin_get_by_sha1() | # TODO: batch requests to origin_get_by_sha1() | ||||
origins = self.storage.origin_get_by_sha1([data.target.object_id]) | origins = self.storage.origin_get_by_sha1([data.target.object_id]) | ||||
try: | try: | ||||
▲ Show 20 Lines • Show All 406 Lines • Show Last 20 Lines |