python: return urls with also dash -> underscore

This commit is contained in:
Wouter Deconinck 2024-08-10 14:16:32 -07:00 committed by GitHub
parent fbfbb9710d
commit 8b2749f95c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -354,9 +354,21 @@ def homepage(cls) -> Optional[str]: # type: ignore[override]
return None
@lang.classproperty
def url(cls) -> Optional[str]:
def urls(cls) -> Optional[List[str]]:
if cls.pypi:
return f"https://files.pythonhosted.org/packages/source/{cls.pypi[0]}/{cls.pypi}"
urls = [
f"https://files.pythonhosted.org/packages/source/{cls.pypi[0]}/{cls.pypi}"
]
assert cls.pypi.count("/") == 1, "PyPI class attribute must include a single slash"
name, file = cls.pypi.split("/")
name_dash_count = name.count("-")
if name_dash_count > 0:
# replace all but last dash with underscores for pypi.org listing changes
pypi = "/".join([name, file.replace("-", "_", name_dash_count)])
urls.append(
f"https://files.pythonhosted.org/packages/source/{pypi[0]}/{pypi}"
)
return urls
return None
@lang.classproperty