diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2020-10-06 20:14:33 -0400 |
|---|---|---|
| committer | Jason R. Coombs <jaraco@jaraco.com> | 2020-10-06 20:20:50 -0400 |
| commit | e91d5d084d88f04df24118c861bbdf4ff0c03d97 (patch) | |
| tree | 54258d70c3722e7163b156ced61193d95f225bfd | |
| parent | f67c1b099d24a37a0c65bf08f88cb46e261d2a61 (diff) | |
| download | python-setuptools-git-e91d5d084d88f04df24118c861bbdf4ff0c03d97.tar.gz | |
Honor 'sic' versions in egg_info. Ref #2181.
| -rw-r--r-- | setuptools/__init__.py | 8 | ||||
| -rw-r--r-- | setuptools/command/egg_info.py | 7 |
2 files changed, 12 insertions, 3 deletions
diff --git a/setuptools/__init__.py b/setuptools/__init__.py index 4d9b8357..c75cca56 100644 --- a/setuptools/__init__.py +++ b/setuptools/__init__.py @@ -4,6 +4,7 @@ from fnmatch import fnmatchcase import functools import os import re +from functools import singledispatch import _distutils_hack.override # noqa: F401 @@ -13,6 +14,7 @@ from distutils.util import convert_path from ._deprecation_warning import SetuptoolsDeprecationWarning +import pkg_resources import setuptools.version from setuptools.extension import Extension from setuptools.dist import Distribution @@ -24,6 +26,7 @@ __all__ = [ 'setup', 'Distribution', 'Command', 'Extension', 'Require', 'SetuptoolsDeprecationWarning', 'find_packages', 'find_namespace_packages', + 'normalize_version', ] __version__ = setuptools.version.__version__ @@ -237,5 +240,10 @@ class sic(str): """Treat this string as-is (https://en.wikipedia.org/wiki/Sic)""" +# Implement 'normalize_version' to bypass safe_version for `sic` versions +normalize_version = singledispatch(pkg_resources.safe_version) +normalize_version.register(sic)(lambda version: version) + + # Apply monkey patches monkey.patch_all() diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py index 0b7ad677..069f76c7 100644 --- a/setuptools/command/egg_info.py +++ b/setuptools/command/egg_info.py @@ -16,14 +16,14 @@ import warnings import time import collections -from setuptools import Command +from setuptools import Command, normalize_version from setuptools.command.sdist import sdist from setuptools.command.sdist import walk_revctrl from setuptools.command.setopt import edit_config from setuptools.command import bdist_egg from pkg_resources import ( parse_requirements, safe_name, parse_version, - safe_version, yield_lines, EntryPoint, iter_entry_points, to_filename) + yield_lines, EntryPoint, iter_entry_points, to_filename) import setuptools.unicode_utils as unicode_utils from setuptools.glob import glob @@ -123,7 +123,8 @@ class InfoCommon: return safe_name(self.distribution.get_name()) def tagged_version(self): - return safe_version(self._maybe_tag(self.distribution.get_version())) + return normalize_version( + self._maybe_tag(self.distribution.get_version())) def _maybe_tag(self, version): """ |
