Skip to content

Commit

Permalink
refactor(masonry): indicate that escape_name is for generated wheel…
Browse files Browse the repository at this point in the history
…s only
  • Loading branch information
mkniewallner committed Jun 7, 2022
1 parent 23e40b6 commit ed7078e
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
6 changes: 3 additions & 3 deletions src/poetry/core/masonry/builders/wheel.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"

Expand All @@ -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"
Expand Down
7 changes: 5 additions & 2 deletions src/poetry/core/masonry/utils/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
6 changes: 3 additions & 3 deletions tests/masonry/utils/test_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -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

0 comments on commit ed7078e

Please sign in to comment.