s/SemanticVersion/Version/

Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
This commit is contained in:
Raphaël Barrois
2012-05-15 18:28:02 +02:00
parent 6713f30717
commit 8e541f24ba
7 changed files with 28 additions and 28 deletions

View File

@@ -5,4 +5,4 @@
__version__ = '0.1.0'
from .base import compare, match, SemanticVersion, Spec
from .base import compare, match, Version, Spec

View File

@@ -55,7 +55,7 @@ def identifier_list_cmp(a, b):
return cmp(len(a), len(b))
class SemanticVersion(object):
class Version(object):
version_re = re.compile('^(\d+)\.(\d+)\.(\d+)(?:-([0-9a-zA-Z.-]+))?(?:\+([0-9a-zA-Z.-]+))?$')
partial_version_re = re.compile('^(\d+)(?:\.(\d+)(?:\.(\d+)(?:-([0-9a-zA-Z.-]+))?(?:\+([0-9a-zA-Z.-]+))?)?)?$')
@@ -237,7 +237,7 @@ class Spec(object):
raise ValueError("Invalid requirement specification: %r" % requirement_string)
kind, version = match.groups()
spec = SemanticVersion(version, partial=(kind == cls.KIND_ALMOST))
spec = Version(version, partial=(kind == cls.KIND_ALMOST))
return (kind, spec)
def match(self, version):
@@ -268,8 +268,8 @@ class Spec(object):
def compare(v1, v2):
return cmp(SemanticVersion(v1), SemanticVersion(v2))
return cmp(Version(v1), Version(v2))
def match(spec, version):
return Spec(spec).match(SemanticVersion(version))
return Spec(spec).match(Version(version))

View File

@@ -21,12 +21,12 @@ class VersionField(models.CharField):
super(VersionField, self).__init__(*args, **kwargs)
def to_python(self, value):
"""Converts any value to a base.SemanticVersion field."""
"""Converts any value to a base.Version field."""
if value is None or value == '':
return value
if isinstance(value, base.SemanticVersion):
if isinstance(value, base.Version):
return value
return base.SemanticVersion(value, partial=self.partial)
return base.Version(value, partial=self.partial)
def get_prep_value(self, obj):
return str(obj)
@@ -54,7 +54,7 @@ class SpecField(models.CharField):
return super(SpecField, self).__init__(*args, **kwargs)
def to_python(self, value):
"""Converts any value to a base.SemanticVersion field."""
"""Converts any value to a base.Version field."""
if value is None or value == '':
return value
if isinstance(value, base.Spec):

View File

@@ -59,7 +59,7 @@ class ComparisonTestCase(unittest.TestCase):
a, b, result, expected))
class SemanticVersionTestCase(unittest.TestCase):
class VersionTestCase(unittest.TestCase):
versions = {
'1.0.0-alpha': (1, 0, 0, ['alpha'], []),
'1.0.0-alpha.1': (1, 0, 0, ['alpha', '1'], []),
@@ -83,22 +83,22 @@ class SemanticVersionTestCase(unittest.TestCase):
def test_parsing(self):
for text, expected_fields in self.versions.items():
version = base.SemanticVersion(text)
version = base.Version(text)
actual_fields = (version.major, version.minor, version.patch,
version.prerelease, version.build)
self.assertEqual(expected_fields, actual_fields)
def test_str(self):
for text, fields in self.versions.items():
version = base.SemanticVersion(text)
version = base.Version(text)
self.assertEqual(text, str(version))
for field in fields:
self.assertIn(repr(field), repr(version))
def test_compare_to_self(self):
for text in self.versions:
self.assertEqual(base.SemanticVersion(text), base.SemanticVersion(text))
self.assertNotEqual(text, base.SemanticVersion(text))
self.assertEqual(base.Version(text), base.Version(text))
self.assertNotEqual(text, base.Version(text))
partial_versions = {
'1.0': (1, 0, None, None, None),
@@ -125,14 +125,14 @@ class SemanticVersionTestCase(unittest.TestCase):
def test_parsing_partials(self):
for text, expected_fields in self.partial_versions.items():
version = base.SemanticVersion(text, partial=True)
version = base.Version(text, partial=True)
actual_fields = (version.major, version.minor, version.patch,
version.prerelease, version.build)
self.assertEqual(expected_fields, actual_fields)
def test_str_partials(self):
for text, fields in self.partial_versions.items():
version = base.SemanticVersion(text, partial=True)
version = base.Version(text, partial=True)
self.assertEqual(text, str(version))
for field in fields:
self.assertIn(repr(field), repr(version))
@@ -140,9 +140,9 @@ class SemanticVersionTestCase(unittest.TestCase):
def test_compare_partial_to_self(self):
for text in self.partial_versions:
self.assertEqual(
base.SemanticVersion(text, partial=True),
base.SemanticVersion(text, partial=True))
self.assertNotEqual(text, base.SemanticVersion(text, partial=True))
base.Version(text, partial=True),
base.Version(text, partial=True))
self.assertNotEqual(text, base.Version(text, partial=True))
if __name__ == '__main__': # pragma: no cover

View File

@@ -37,12 +37,12 @@ class DjangoFieldTestCase(unittest.TestCase):
def test_version(self):
obj = models.VersionModel(version='0.1.1', spec='>0.1.0')
self.assertEqual(semantic_version.SemanticVersion('0.1.1'), obj.version)
self.assertEqual(semantic_version.Version('0.1.1'), obj.version)
self.assertEqual(semantic_version.Spec('>0.1.0'), obj.spec)
alt_obj = models.VersionModel(version=obj.version, spec=obj.spec)
self.assertEqual(semantic_version.SemanticVersion('0.1.1'), alt_obj.version)
self.assertEqual(semantic_version.Version('0.1.1'), alt_obj.version)
self.assertEqual(semantic_version.Spec('>0.1.0'), alt_obj.spec)
self.assertEqual(obj.spec, alt_obj.spec)
self.assertEqual(obj.version, alt_obj.version)
@@ -54,13 +54,13 @@ class DjangoFieldTestCase(unittest.TestCase):
def test_partial(self):
obj = models.PartialVersionModel(partial='0.1')
self.assertEqual(semantic_version.SemanticVersion('0.1', partial=True), obj.partial)
self.assertEqual(semantic_version.Version('0.1', partial=True), obj.partial)
self.assertIsNone(obj.optional)
self.assertIsNone(obj.optional_spec)
alt_obj = models.PartialVersionModel(partial=obj.partial, optional=obj.optional,
optional_spec=obj.optional_spec)
self.assertEqual(semantic_version.SemanticVersion('0.1', partial=True), alt_obj.partial)
self.assertEqual(semantic_version.Version('0.1', partial=True), alt_obj.partial)
self.assertEqual(obj.partial, alt_obj.partial)
self.assertIsNone(obj.optional)
self.assertIsNone(obj.optional_spec)

View File

@@ -80,7 +80,7 @@ class MatchTestCase(unittest.TestCase):
spec = semantic_version.Spec(spec_txt)
self.assertNotEqual(spec, spec_txt)
for version_txt in versions:
version = semantic_version.SemanticVersion(version_txt)
version = semantic_version.Version(version_txt)
self.assertTrue(spec.match(version), "%r does not match %r" % (version, spec))
self.assertTrue(semantic_version.match(spec_txt, version_txt))

View File

@@ -27,11 +27,11 @@ class ParsingTestCase(unittest.TestCase):
def test_invalid(self):
for invalid in self.invalids:
self.assertRaises(ValueError, semantic_version.SemanticVersion, invalid)
self.assertRaises(ValueError, semantic_version.Version, invalid)
def test_simple(self):
for valid in self.valids:
version = semantic_version.SemanticVersion(valid)
version = semantic_version.Version(valid)
self.assertEqual(valid, str(version))
@@ -52,9 +52,9 @@ class ComparisonTestCase(unittest.TestCase):
def test_comparisons(self):
for i, first in enumerate(self.order):
first_ver = semantic_version.SemanticVersion(first)
first_ver = semantic_version.Version(first)
for j, second in enumerate(self.order):
second_ver = semantic_version.SemanticVersion(second)
second_ver = semantic_version.Version(second)
if i < j:
self.assertTrue(first_ver < second_ver, '%r !< %r' % (first_ver, second_ver))
elif i == j: