From ed7078ed440689f87b523005a90cf3da1ff65fec Mon Sep 17 00:00:00 2001 From: Mathieu Kniewallner Date: Tue, 7 Jun 2022 19:54:21 +0200 Subject: [PATCH] refactor(masonry): indicate that `escape_name` is for generated wheels only --- src/poetry/core/masonry/builders/wheel.py | 6 +++--- src/poetry/core/masonry/utils/helpers.py | 7 +++++-- tests/masonry/utils/test_helpers.py | 6 +++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/poetry/core/masonry/builders/wheel.py b/src/poetry/core/masonry/builders/wheel.py index 01533e7b6..3f322d1b4 100644 --- a/src/poetry/core/masonry/builders/wheel.py +++ b/src/poetry/core/masonry/builders/wheel.py @@ -23,8 +23,8 @@ from poetry.core import __version__ from poetry.core.masonry.builders.builder import Builder from poetry.core.masonry.builders.sdist import SdistBuilder -from poetry.core.masonry.utils.helpers import escape_name from poetry.core.masonry.utils.helpers import escape_version +from poetry.core.masonry.utils.helpers import escape_wheel_name from poetry.core.masonry.utils.helpers import normalize_file_permissions from poetry.core.masonry.utils.package_include import PackageInclude from poetry.core.semver.helpers import parse_constraint @@ -281,7 +281,7 @@ def wheel_data_folder(self) -> str: @property def wheel_filename(self) -> str: - name = escape_name(self._package.pretty_name) + name = escape_wheel_name(self._package.pretty_name) version = escape_version(self._meta.version) return f"{name}-{version}-{self.tag}.whl" @@ -291,7 +291,7 @@ def supports_python2(self) -> bool: ) def dist_info_name(self, distribution: str, version: str) -> str: - escaped_name = escape_name(distribution) + escaped_name = escape_wheel_name(distribution) escaped_version = escape_version(version) return f"{escaped_name}-{escaped_version}.dist-info" diff --git a/src/poetry/core/masonry/utils/helpers.py b/src/poetry/core/masonry/utils/helpers.py index f14440a15..c38199e99 100644 --- a/src/poetry/core/masonry/utils/helpers.py +++ b/src/poetry/core/masonry/utils/helpers.py @@ -28,6 +28,9 @@ def escape_version(version: str) -> str: return re.sub(r"[^\w\d.+]+", "_", version, flags=re.UNICODE) -def escape_name(name: str) -> str: - """Escaped wheel name as specified in https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode.""" +def escape_wheel_name(name: str) -> str: + """ + Escaped wheel name as specified in https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode. + This method should only be used for the generation of wheels, and not for the artifact package names. + """ return re.sub(r"[-_.]+", "_", name, flags=re.UNICODE).lower() diff --git a/tests/masonry/utils/test_helpers.py b/tests/masonry/utils/test_helpers.py index 8be13c40a..a0a7556fa 100644 --- a/tests/masonry/utils/test_helpers.py +++ b/tests/masonry/utils/test_helpers.py @@ -2,8 +2,8 @@ import pytest -from poetry.core.masonry.utils.helpers import escape_name from poetry.core.masonry.utils.helpers import escape_version +from poetry.core.masonry.utils.helpers import escape_wheel_name @pytest.mark.parametrize( @@ -33,5 +33,5 @@ def test_escape_version(version: str, expected: str) -> None: ("foo123-ba---.r", "foo123_ba_r"), ], ) -def test_escape_name(name: str, expected: str) -> None: - assert escape_name(name) == expected +def test_escape_wheel_name(name: str, expected: str) -> None: + assert escape_wheel_name(name) == expected