diff options
| author | Donald Stufft <donald@stufft.io> | 2014-12-17 21:37:45 -0500 |
|---|---|---|
| committer | Donald Stufft <donald@stufft.io> | 2014-12-17 21:37:45 -0500 |
| commit | ae712b5b623c9541f09816d8926f474d503fec2d (patch) | |
| tree | c06af4faa7921ed3ce49add92d6a5635b11650c5 /setuptools/_vendor/packaging/version.py | |
| parent | 4bf1bfade0e23f74667989932f3c80c1252a64ef (diff) | |
| download | python-setuptools-git-ae712b5b623c9541f09816d8926f474d503fec2d.tar.gz | |
Upgrade packaging to 14.5
* Normalizes release candidates to 1.0rc1 instead of 1.0c1
Diffstat (limited to 'setuptools/_vendor/packaging/version.py')
| -rw-r--r-- | setuptools/_vendor/packaging/version.py | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/setuptools/_vendor/packaging/version.py b/setuptools/_vendor/packaging/version.py index e76e9607..8d779a48 100644 --- a/setuptools/_vendor/packaging/version.py +++ b/setuptools/_vendor/packaging/version.py @@ -21,7 +21,7 @@ from ._structures import Infinity __all__ = [ - "parse", "Version", "LegacyVersion", "InvalidVersion", + "parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN" ] @@ -156,44 +156,44 @@ def _legacy_cmpkey(version): return epoch, parts +# Deliberately not anchored to the start and end of the string, to make it +# easier for 3rd party code to reuse +VERSION_PATTERN = r""" + v? + (?: + (?:(?P<epoch>[0-9]+)!)? # epoch + (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment + (?P<pre> # pre-release + [-_\.]? + (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview)) + [-_\.]? + (?P<pre_n>[0-9]+)? + )? + (?P<post> # post release + (?:-(?P<post_n1>[0-9]+)) + | + (?: + [-_\.]? + (?P<post_l>post|rev|r) + [-_\.]? + (?P<post_n2>[0-9]+)? + ) + )? + (?P<dev> # dev release + [-_\.]? + (?P<dev_l>dev) + [-_\.]? + (?P<dev_n>[0-9]+)? + )? + ) + (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version +""" + class Version(_BaseVersion): _regex = re.compile( - r""" - ^ - \s* - v? - (?: - (?:(?P<epoch>[0-9]+)!)? # epoch - (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment - (?P<pre> # pre-release - [-_\.]? - (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview)) - [-_\.]? - (?P<pre_n>[0-9]+)? - )? - (?P<post> # post release - (?:-(?P<post_n1>[0-9]+)) - | - (?: - [-_\.]? - (?P<post_l>post|rev|r) - [-_\.]? - (?P<post_n2>[0-9]+)? - ) - )? - (?P<dev> # dev release - [-_\.]? - (?P<dev_l>dev) - [-_\.]? - (?P<dev_n>[0-9]+)? - )? - ) - (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version - \s* - $ - """, + r"^\s*" + VERSION_PATTERN + r"\s*$", re.VERBOSE | re.IGNORECASE, ) @@ -297,8 +297,8 @@ def _parse_letter_version(letter, number): letter = "a" elif letter == "beta": letter = "b" - elif letter in ["rc", "pre", "preview"]: - letter = "c" + elif letter in ["c", "pre", "preview"]: + letter = "rc" return letter, int(number) if not letter and number: |
