Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/migrate_extrinsic_metadata.py
Show First 20 Lines • Show All 697 Lines • ▼ Show 20 Lines | elif type_ == "tar": | ||||
# cran loader | # cran loader | ||||
provider = metadata["extrinsic"]["provider"] | provider = metadata["extrinsic"]["provider"] | ||||
if provider.startswith("https://cran.r-project.org/package="): | if provider.startswith("https://cran.r-project.org/package="): | ||||
origin = metadata["extrinsic"]["provider"] | origin = metadata["extrinsic"]["provider"] | ||||
else: | else: | ||||
package_name = cran_package_from_url(provider) | package_name = cran_package_from_url(provider) | ||||
origin = f"https://cran.r-project.org/package={package_name}" | origin = f"https://cran.r-project.org/package={package_name}" | ||||
# TODO https://forge.softwareheritage.org/T2536 | |||||
assert origin is not None | assert origin is not None | ||||
# Ideally we should assert the origin exists, but we can't: | |||||
# https://forge.softwareheritage.org/T2536 | |||||
if ( | if ( | ||||
hashlib.sha1(origin.encode()).digest() not in _origins | hashlib.sha1(origin.encode()).digest() not in _origins | ||||
and storage.origin_get([origin])[0] is None | and storage.origin_get([origin])[0] is None | ||||
): | ): | ||||
print("MISSING CRAN ORIGIN", hash_to_hex(row["id"]), origin) | |||||
return | return | ||||
raw_extrinsic_metadata = metadata["extrinsic"]["raw"] | raw_extrinsic_metadata = metadata["extrinsic"]["raw"] | ||||
# this is actually intrinsic, ignore it | # this is actually intrinsic, ignore it | ||||
if "version" in raw_extrinsic_metadata: | if "version" in raw_extrinsic_metadata: | ||||
del raw_extrinsic_metadata["version"] | del raw_extrinsic_metadata["version"] | ||||
▲ Show 20 Lines • Show All 478 Lines • Show Last 20 Lines |