diff --git a/swh/storage/migrate_extrinsic_metadata.py b/swh/storage/migrate_extrinsic_metadata.py --- a/swh/storage/migrate_extrinsic_metadata.py +++ b/swh/storage/migrate_extrinsic_metadata.py @@ -191,6 +191,29 @@ return "use0mk" elif filename == "play-0-develop-1-gd67cd85.tar.gz": return "play" + elif filename.startswith("mosaic-nist-"): + return "mosaic-nist" + elif filename.startswith("pypops-"): + return "pypops" + elif filename.startswith("pdfcomparator-"): + return "pdfcomparator" + elif filename.startswith("LabJackPython-"): + return "LabJackPython" + elif filename == "MD2K: Cerebral Cortex-3.0.0.tar.gz": + return "cerebralcortex-kernel" + elif filename.startswith("LyMaker-0 (copy)"): + return "LyMaker" + elif filename.startswith("python-tplink-smarthome-"): + return "python-tplink-smarthome" + elif filename.startswith("jtt=tm-utils-"): + return "jtt-tm-utils" + elif filename == "atproject0.1.tar.gz": + return "atproject" + elif filename == "labm8.tar.gz": + return "labm8" + elif filename == "Bugs Everywhere (BEurtle fork)-1.5.0.1.-2012-07-16-.zip": + return "Bugs-Everywhere-BEurtle-fork" + filename = filename.replace(" ", "-") match = re.match( @@ -976,9 +999,16 @@ assert len(metadata["original_artifact"]) == 1 - origin = pypi_origin_from_filename( - storage, row["id"], metadata["original_artifact"][0]["filename"] - ) + version = metadata.get("project", {}).get("version") + filename = metadata["original_artifact"][0]["filename"] + if version: + origin = pypi_origin_from_project_name(filename.split("-" + version)[0]) + if not _check_revision_in_origin(storage, origin, row["id"]): + origin = None + else: + origin = None + if origin is None: + origin = pypi_origin_from_filename(storage, row["id"], filename) if "project" in metadata: # pypi loader format 2 diff --git a/swh/storage/tests/migrate_extrinsic_metadata/test_pypi.py b/swh/storage/tests/migrate_extrinsic_metadata/test_pypi.py --- a/swh/storage/tests/migrate_extrinsic_metadata/test_pypi.py +++ b/swh/storage/tests/migrate_extrinsic_metadata/test_pypi.py @@ -138,6 +138,8 @@ ("OrzMC_W&L-1.0.0.tar.gz", "OrzMC-W-L"), ("use0mk.tar.gz", "use0mk"), ("play-0-develop-1-gd67cd85.tar.gz", "play"), + ("mosaic-nist-2.0b1+f98ae80.tar.gz", "mosaic-nist"), + ("pypops-201408-r3.tar.gz", "pypops"), ] for (filename, project) in files: