Skip to content

Commit 6e74c88

Browse files
committed
Move implementation to monkey.patch.
1 parent bf33f79 commit 6e74c88

File tree

3 files changed

+11
-24
lines changed

3 files changed

+11
-24
lines changed

setuptools/_core_metadata.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from . import _normalization, _reqs
1818
from .extern.packaging.markers import Marker
1919
from .extern.packaging.requirements import Requirement
20+
from .extern.packaging.utils import canonicalize_name, canonicalize_version
2021
from .extern.packaging.version import Version
2122
from .warnings import SetuptoolsDeprecationWarning
2223

@@ -257,3 +258,11 @@ def _write_provides_extra(file, processed_extras, safe, unsafe):
257258
else:
258259
processed_extras[safe] = unsafe
259260
file.write(f"Provides-Extra: {safe}\n")
261+
262+
263+
# from pypa/distutils#244; needed only until that logic is always available
264+
def get_fullname(self):
265+
return "{}-{}".format(
266+
canonicalize_name(self.get_name()).replace('-', '_'),
267+
canonicalize_version(self.get_version()),
268+
)

setuptools/dist.py

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import os
88
import re
99
import sys
10-
import contextlib
1110
from contextlib import suppress
1211
from glob import iglob
1312
from pathlib import Path
@@ -27,7 +26,6 @@
2726
from .extern.ordered_set import OrderedSet
2827
from .extern.packaging.markers import InvalidMarker, Marker
2928
from .extern.packaging.specifiers import InvalidSpecifier, SpecifierSet
30-
from .extern.packaging.utils import canonicalize_name, canonicalize_version
3129
from .extern.packaging.version import Version
3230

3331
from . import _entry_points
@@ -966,28 +964,7 @@ def run_command(self, command):
966964
# Postpone defaults until all explicit configuration is considered
967965
# (setup() args, config files, command line and plugins)
968966

969-
with self._override_get_fullname():
970-
super().run_command(command)
971-
972-
@contextlib.contextmanager
973-
def _override_get_fullname(self):
974-
def _get_fullname_canonicalized(self):
975-
return "{}-{}".format(
976-
canonicalize_name(self.get_name()).replace('-', '_'),
977-
canonicalize_version(self.get_version()),
978-
)
979-
980-
class NoValue:
981-
pass
982-
983-
orig_val = getattr(self, 'get_fullname', NoValue)
984-
self.get_fullname = _get_fullname_canonicalized.__get__(self)
985-
986-
try:
987-
yield
988-
finally:
989-
if orig_val is not NoValue:
990-
self.get_fullname = orig_val
967+
super().run_command(command)
991968

992969

993970
class DistDeprecationWarning(SetuptoolsDeprecationWarning):

setuptools/monkey.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ def _patch_distribution_metadata():
9595
'write_pkg_file',
9696
'read_pkg_file',
9797
'get_metadata_version',
98+
'get_fullname',
9899
):
99100
new_val = getattr(_core_metadata, attr)
100101
setattr(distutils.dist.DistributionMetadata, attr, new_val)

0 commit comments

Comments
 (0)