Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/package/loader.py
Show First 20 Lines • Show All 306 Lines • ▼ Show 20 Lines | ) -> Optional[CoreSWHID]: | ||||
hash_to_hex(extid_target.object_type), | hash_to_hex(extid_target.object_type), | ||||
) | ) | ||||
if extid_targets: | if extid_targets: | ||||
# This is a known package version, as we have an extid to reference it. | # This is a known package version, as we have an extid to reference it. | ||||
# Let's return one of them. | # Let's return one of them. | ||||
# If there is a release extid, return it. | # If there is a release extid, return it. | ||||
release_extid_targets = [ | release_extid_targets = { | ||||
extid_target | extid_target | ||||
for extid_target in extid_targets | for extid_target in extid_targets | ||||
if extid_target.object_type == ObjectType.RELEASE | if extid_target.object_type == ObjectType.RELEASE | ||||
] | } | ||||
if release_extid_targets: | if release_extid_targets: | ||||
assert len(release_extid_targets) == 1, release_extid_targets | assert len(release_extid_targets) == 1, release_extid_targets | ||||
return release_extid_targets[0] | return list(release_extid_targets)[0] | ||||
# If there is no release extid (ie. if the package was only loaded with | # If there is no release extid (ie. if the package was only loaded with | ||||
# older versions of this loader, which produced revision objects instead | # older versions of this loader, which produced revision objects instead | ||||
# of releases), return a revision extid. | # of releases), return a revision extid. | ||||
assert len(extid_targets) == 1, extid_targets | assert len(extid_targets) == 1, extid_targets | ||||
assert extid_targets[0].object_type == ObjectType.REVISION, extid_targets | assert extid_targets[0].object_type == ObjectType.REVISION, extid_targets | ||||
return extid_targets[0] | return extid_targets[0] | ||||
else: | else: | ||||
▲ Show 20 Lines • Show All 718 Lines • Show Last 20 Lines |