tarek / distutils.version (http://docs.python.org/distutils/)

This is the new version comparison tool for distutils.

Clone this repository (size: 41.3 KB): HTTPS / SSH
$ hg clone http://bitbucket.org/tarek/distutilsversion/

Changed (Δ91 bytes):

raw changeset »

test_pypi_versions.py (1 lines added, 0 lines removed)

test_verlib.py (2 lines added, 2 lines removed)

verlib.py (2 lines added, 1 lines removed)

Up to file-list test_pypi_versions.py:

@@ -76,6 +76,7 @@ for ver in versions:
76
76
    if sugg == ver:
77
77
        matches += 1
78
78
    elif sugg == None:
79
        print ver
79
80
        no_sugg += 1
80
81
    else:
81
82
        have_sugg += 1

Up to file-list test_verlib.py:

@@ -97,15 +97,15 @@ class VersionTestCase(unittest.TestCase)
97
97
98
98
        self.assertEquals(suggest('1.0'), '1.0')
99
99
        self.assertEquals(suggest('1.0-alpha1'), '1.0a1')
100
        self.assertEquals(suggest('1.0rc2'), '1.0c2')
100
        self.assertEquals(suggest('1.0c2'), '1.0c2')
101
101
        self.assertEquals(suggest('walla walla washington'), None)
102
        self.assertEquals(suggest('2.4c1'), '2.4c1')
102
103
103
104
        # from setuptools
104
105
        self.assertEquals(suggest('0.4a1.r10'), '0.4a1.post10')
105
106
        self.assertEquals(suggest('0.7a1dev-r66608'), '0.7a1.dev66608')
106
107
        self.assertEquals(suggest('0.6a9.dev-r41475'), '0.6a9.dev41475')
107
108
        self.assertEquals(suggest('2.4preview1'), '2.4c1')
108
        self.assertEquals(suggest('2.4rc1'), '2.4c1')
109
109
        self.assertEquals(suggest('2.4pre1') , '2.4c1')
110
110
        self.assertEquals(suggest('2.1-rc2'), '2.1c2')
111
111

Up to file-list verlib.py:

@@ -41,7 +41,8 @@ VERSION_RE = re.compile(r'''
41
41
    (?P<version>\d+\.\d+)          # minimum 'N.N'
42
42
    (?P<extraversion>(?:\.\d+)*)   # any number of extra '.N' segments
43
43
    (?:
44
        (?P<prerel>[abc])          # 'a'=alpha, 'b'=beta, 'c'=release candidate
44
        (?P<prerel>[abc]|rc)       # 'a'=alpha, 'b'=beta, 'c'=release candidate
45
                                   # 'rc'= alias for release candidate
45
46
        (?P<prerelversion>\d+(?:\.\d+)*)
46
47
    )?
47
48
    (?P<postdev>(\.post(?P<post>\d+))?(\.dev(?P<dev>\d+))?)?