Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/migrate_extrinsic_metadata.py
Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | |||||
deposit_revision_message_re = re.compile( | deposit_revision_message_re = re.compile( | ||||
b"(?P<client>[a-z-]*): " | b"(?P<client>[a-z-]*): " | ||||
b"Deposit (?P<deposit_id>[0-9]+) in collection (?P<collection>[a-z-]+).*" | b"Deposit (?P<deposit_id>[0-9]+) in collection (?P<collection>[a-z-]+).*" | ||||
) | ) | ||||
# not reliable, because PyPI allows arbitrary names | # not reliable, because PyPI allows arbitrary names | ||||
def pypi_project_from_filename(filename): | def pypi_project_from_filename(filename): | ||||
original_filename = filename | |||||
if filename.endswith(".egg"): | if filename.endswith(".egg"): | ||||
return None | return None | ||||
elif filename == "mongomotor-0.13.0.n.tar.gz": | elif filename == "mongomotor-0.13.0.n.tar.gz": | ||||
return "mongomotor" | return "mongomotor" | ||||
elif re.match(r"datahaven-rev[0-9]+\.tar\.gz", filename): | elif re.match(r"datahaven-rev[0-9]+\.tar\.gz", filename): | ||||
return "datahaven" | return "datahaven" | ||||
elif re.match(r"Dtls-[0-9]\.[0-9]\.[0-9]\.sdist_with_openssl\..*", filename): | elif re.match(r"Dtls-[0-9]\.[0-9]\.[0-9]\.sdist_with_openssl\..*", filename): | ||||
return "Dtls" | return "Dtls" | ||||
Show All 25 Lines | elif filename == "LitReview-0.6989ev.tar.gz": | ||||
# typo of "dev" | # typo of "dev" | ||||
return "LitReview" | return "LitReview" | ||||
elif filename.startswith("django_options-r"): | elif filename.startswith("django_options-r"): | ||||
return "django_options" | return "django_options" | ||||
elif filename == "Greater than, equal, or less Library-0.1.tar.gz": | elif filename == "Greater than, equal, or less Library-0.1.tar.gz": | ||||
return "Greater-than-equal-or-less-Library" | return "Greater-than-equal-or-less-Library" | ||||
elif filename.startswith("upstart--main-"): | elif filename.startswith("upstart--main-"): | ||||
return "upstart" | return "upstart" | ||||
elif filename == "duckduckpy0.1.tar.gz": | |||||
return "duckduckpy" | |||||
elif filename == "QUI for MPlayer snapshot_9-14-2011.zip": | |||||
return "QUI-for-MPlayer" | |||||
elif filename == "Eddy's Memory Game-1.0.zip": | |||||
return "Eddy-s-Memory-Game" | |||||
elif filename == "jekyll2nikola-0-0-1.tar.gz": | |||||
return "jekyll2nikola" | |||||
elif filename.startswith("ore.workflowed"): | |||||
return "ore.workflowed" | |||||
elif re.match("instancemanager-[0-9]*", filename): | |||||
return "instancemanager" | |||||
elif filename == "OrzMC_W&L-1.0.0.tar.gz": | |||||
return "OrzMC-W-L" | |||||
filename = filename.replace(" ", "-") | filename = filename.replace(" ", "-") | ||||
match = re.match( | match = re.match( | ||||
r"^(?P<project_name>[a-z_.-]+)" # project name | r"^(?P<project_name>[a-z_.-]+)" # project name | ||||
r"\.(tar\.gz|tar\.bz2|tgz|zip)$", # extension | r"\.(tar\.gz|tar\.bz2|tgz|zip)$", # extension | ||||
filename, | filename, | ||||
re.I, | re.I, | ||||
) | ) | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | def pypi_project_from_filename(filename): | ||||
# dash or underscore in the name | # dash or underscore in the name | ||||
match = re.match( | match = re.match( | ||||
r"^(?P<project_name>[^_-]+)" # project name | r"^(?P<project_name>[^_-]+)" # project name | ||||
r"[_-][^_-]+" # version | r"[_-][^_-]+" # version | ||||
r"\.(tar\.gz|tar\.bz2|tgz|zip)$", # extension | r"\.(tar\.gz|tar\.bz2|tgz|zip)$", # extension | ||||
filename, | filename, | ||||
) | ) | ||||
assert match, filename | assert match, original_filename | ||||
return match.group("project_name") | return match.group("project_name") | ||||
def cran_package_from_url(filename): | def cran_package_from_url(filename): | ||||
match = re.match( | match = re.match( | ||||
r"^https://cran\.r-project\.org/src/contrib/" | r"^https://cran\.r-project\.org/src/contrib/" | ||||
r"(?P<package_name>[a-zA-Z0-9.]+)_[0-9.-]+(\.tar\.gz)?$", | r"(?P<package_name>[a-zA-Z0-9.]+)_[0-9.-]+(\.tar\.gz)?$", | ||||
filename, | filename, | ||||
▲ Show 20 Lines • Show All 904 Lines • Show Last 20 Lines |