diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-03-15 14:57:18 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2020-03-15 15:06:05 -0400 |
commit | 24fa288a98a14e6ec57b996b151a48203322c936 (patch) | |
tree | 19a385f8722385daa4ec0d66823b9c007885ff68 /setuptools | |
parent | a753df58651cb2d685dc721a40b450a7dba611ce (diff) | |
download | external_python_setuptools-24fa288a98a14e6ec57b996b151a48203322c936.tar.gz external_python_setuptools-24fa288a98a14e6ec57b996b151a48203322c936.tar.bz2 external_python_setuptools-24fa288a98a14e6ec57b996b151a48203322c936.zip |
Extract method for validating version.
Diffstat (limited to 'setuptools')
-rw-r--r-- | setuptools/dist.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py index 7ffe0ba1..0f71dd98 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -438,30 +438,35 @@ class Distribution(_Distribution): value = default() if default else None setattr(self.metadata, option, value) - if isinstance(self.metadata.version, numbers.Number): + self.metadata.version = self._validate_version(self.metadata.version) + self._finalize_requires() + + @staticmethod + def _validate_version(version): + if isinstance(version, numbers.Number): # Some people apparently take "version number" too literally :) - self.metadata.version = str(self.metadata.version) + version = str(version) - if self.metadata.version is not None: + if version is not None: try: - ver = packaging.version.Version(self.metadata.version) + ver = packaging.version.Version(version) normalized_version = str(ver) - if self.metadata.version != normalized_version: + if version != normalized_version: warnings.warn( "Normalizing '%s' to '%s'" % ( - self.metadata.version, + version, normalized_version, ) ) - self.metadata.version = normalized_version + version = normalized_version except (packaging.version.InvalidVersion, TypeError): warnings.warn( "The version specified (%r) is an invalid version, this " "may not work as expected with newer versions of " "setuptools, pip, and PyPI. Please see PEP 440 for more " - "details." % self.metadata.version + "details." % version ) - self._finalize_requires() + return version def _finalize_requires(self): """ |