Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/package/loader.py
Show First 20 Lines • Show All 320 Lines • ▼ Show 20 Lines | ) -> Optional[CoreSWHID]: | ||||
# 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 | ||||
} | } | ||||
# Exclude missing targets | |||||
missing_releases = { | |||||
CoreSWHID(object_type=ObjectType.RELEASE, object_id=id_) | |||||
for id_ in self.storage.release_missing( | |||||
[swhid.object_id for swhid in release_extid_targets] | |||||
) | |||||
} | |||||
if missing_releases: | |||||
logger.error( | |||||
"Found ExtIDs pointing to missing releases: %s", missing_releases | |||||
) | |||||
release_extid_targets -= missing_releases | |||||
extid_target2 = self.select_extid_target(p_info, release_extid_targets) | extid_target2 = self.select_extid_target(p_info, release_extid_targets) | ||||
if extid_target2: | if extid_target2: | ||||
return extid_target2 | return extid_target2 | ||||
# 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 when possible. | # of releases), return a revision extid when possible. | ||||
revision_extid_targets = { | revision_extid_targets = { | ||||
▲ Show 20 Lines • Show All 750 Lines • Show Last 20 Lines |