Commit a14a93d9 by David Hotham Committed by GitHub

refactor(uploader): don't use normalize_version() or escape_version() (#6476)

When you already have a `Version` in hand,
`normalize_version(version.text)` is a very roundabout way of calling
`version.to_string()`: it re-parses the version text to give you the
same `Version` you already had and then calls `to_string()` on that.

https://github.com/python-poetry/poetry-core/blob/37cee90a5dd4c7ee2c5ee836216ba813242b3ade/src/poetry/core/utils/helpers.py#L27-L28

Then calling `escape_version()` on such a version is actually
counter-productive, per #6466.

Similar changes can and should be made over in poetry-core, but it
should be safe to merge this before that is done.
parent 4914c265
......@@ -11,8 +11,6 @@ import requests
from poetry.core.masonry.metadata import Metadata
from poetry.core.masonry.utils.helpers import escape_name
from poetry.core.masonry.utils.helpers import escape_version
from poetry.core.utils.helpers import normalize_version
from requests import adapters
from requests.exceptions import ConnectionError
from requests.exceptions import HTTPError
......@@ -78,13 +76,10 @@ class Uploader:
@property
def files(self) -> list[Path]:
dist = self._poetry.file.parent / "dist"
version = normalize_version(self._package.version.text)
version = self._package.version.to_string()
wheels = list(
dist.glob(
f"{escape_name(self._package.pretty_name)}-{escape_version(version)}"
"-*.whl"
)
dist.glob(f"{escape_name(self._package.pretty_name)}-{version}-*.whl")
)
tars = list(dist.glob(f"{self._package.pretty_name}-{version}.tar.gz"))
......@@ -305,10 +300,7 @@ class Uploader:
Register a package to a repository.
"""
dist = self._poetry.file.parent / "dist"
file = (
dist
/ f"{self._package.name}-{normalize_version(self._package.version.text)}.tar.gz" # noqa: E501
)
file = dist / f"{self._package.name}-{self._package.version.to_string()}.tar.gz"
if not file.exists():
raise RuntimeError(f'"{file.name}" does not exist.')
......
......@@ -12,7 +12,6 @@ from typing import TYPE_CHECKING
from typing import Any
from poetry.core.masonry.utils.helpers import escape_name
from poetry.core.masonry.utils.helpers import escape_version
from poetry.core.packages.package import Package
from poetry.core.packages.utils.link import Link
from poetry.core.toml.file import TOMLFile
......@@ -237,7 +236,7 @@ class TestRepository(Repository):
return [
Link(
f"https://foo.bar/files/{escape_name(package.name)}"
f"-{escape_version(package.version.text)}-py2.py3-none-any.whl"
f"-{package.version.to_string()}-py2.py3-none-any.whl"
)
]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment