From e1ea37642d0fd9bffb865da4122706e7349afec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Barrois?= Date: Thu, 29 Aug 2019 11:31:57 +0200 Subject: Restore Python2 support. --- semantic_version/base.py | 27 +++++++++++++-------------- semantic_version/django_fields.py | 12 ++++++------ 2 files changed, 19 insertions(+), 20 deletions(-) (limited to 'semantic_version') diff --git a/semantic_version/base.py b/semantic_version/base.py index 1c4b01d..d7061c0 100644 --- a/semantic_version/base.py +++ b/semantic_version/base.py @@ -14,7 +14,7 @@ def _has_leading_zero(value): and value != '0') -class MaxIdentifier: +class MaxIdentifier(object): __slots__ = [] def __repr__(self): @@ -25,7 +25,7 @@ class MaxIdentifier: @functools.total_ordering -class NumericIdentifier: +class NumericIdentifier(object): __slots__ = ['value'] def __init__(self, value): @@ -51,7 +51,7 @@ class NumericIdentifier: @functools.total_ordering -class AlphaIdentifier: +class AlphaIdentifier(object): __slots__ = ['value'] def __init__(self, value): @@ -76,7 +76,7 @@ class AlphaIdentifier: return NotImplemented -class Version: +class Version(object): version_re = re.compile(r'^(\d+)\.(\d+)\.(\d+)(?:-([0-9a-zA-Z.-]+))?(?:\+([0-9a-zA-Z.-]+))?$') partial_version_re = re.compile(r'^(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:-([0-9a-zA-Z.-]*))?(?:\+([0-9a-zA-Z.-]*))?$') @@ -84,7 +84,6 @@ class Version: def __init__( self, version_string=None, - *, major=None, minor=None, patch=None, @@ -404,7 +403,7 @@ class Version: def precedence_key(self): if self.prerelease: prerelease_key = tuple( - NumericIdentifier(part) if part.isdecimal() else AlphaIdentifier(part) + NumericIdentifier(part) if re.match(r'^[0-9]+$', part) else AlphaIdentifier(part) for part in self.prerelease ) else: @@ -468,7 +467,7 @@ class Version: return self.precedence_key >= other.precedence_key -class SpecItem: +class SpecItem(object): """A requirement specification.""" KIND_ANY = '*' @@ -576,7 +575,7 @@ def validate(version_string): DEFAULT_SYNTAX = 'simple' -class BaseSpec: +class BaseSpec(object): """A specification of compatible versions. Usage: @@ -606,7 +605,7 @@ class BaseSpec: return subclass def __init__(self, expression): - super().__init__() + super(BaseSpec, self).__init__() self.expression = expression self.clause = self._parse_to_clause(expression) @@ -659,7 +658,7 @@ class BaseSpec: return '<%s: %r>' % (self.__class__.__name__, self.expression) -class Clause: +class Clause(object): __slots__ = [] def match(self, version): @@ -685,7 +684,7 @@ class AnyOf(Clause): __slots__ = ['clauses'] def __init__(self, *clauses): - super().__init__() + super(AnyOf, self).__init__() self.clauses = frozenset(clauses) def match(self, version): @@ -739,7 +738,7 @@ class AllOf(Clause): __slots__ = ['clauses'] def __init__(self, *clauses): - super().__init__() + super(AllOf, self).__init__() self.clauses = frozenset(clauses) def match(self, version): @@ -878,7 +877,7 @@ class Range(Matcher): __slots__ = ['operator', 'target', 'prerelease_policy', 'build_policy'] def __init__(self, operator, target, prerelease_policy=PRERELEASE_NATURAL, build_policy=BUILD_IMPLICIT): - super().__init__() + super(Range, self).__init__() if target.build and operator not in (self.OP_EQ, self.OP_NEQ): raise ValueError( "Invalid range %s%s: build numbers have no ordering." @@ -1155,7 +1154,7 @@ class LegacySpec(SimpleSpec): stacklevel=2, ) expression = ','.join(expressions) - super().__init__(expression) + super(LegacySpec, self).__init__(expression) def __iter__(self): warnings.warn( diff --git a/semantic_version/django_fields.py b/semantic_version/django_fields.py index db7e606..97f9ce1 100644 --- a/semantic_version/django_fields.py +++ b/semantic_version/django_fields.py @@ -14,7 +14,7 @@ class SemVerField(models.CharField): def __init__(self, *args, **kwargs): kwargs.setdefault('max_length', 200) - super().__init__(*args, **kwargs) + super(SemVerField, self).__init__(*args, **kwargs) def from_db_value(self, value, expression, connection, context): """Convert from the database format. @@ -36,7 +36,7 @@ class SemVerField(models.CharField): return str(value) def run_validators(self, value): - return super().run_validators(str(value)) + return super(SemVerField, self).run_validators(str(value)) class VersionField(SemVerField): @@ -54,11 +54,11 @@ class VersionField(SemVerField): stacklevel=2, ) self.coerce = kwargs.pop('coerce', False) - super().__init__(*args, **kwargs) + super(VersionField, self).__init__(*args, **kwargs) def deconstruct(self): """Handle django.db.migrations.""" - name, path, args, kwargs = super().deconstruct() + name, path, args, kwargs = super(VersionField, self).deconstruct() kwargs['partial'] = self.partial kwargs['coerce'] = self.coerce return name, path, args, kwargs @@ -83,11 +83,11 @@ class SpecField(SemVerField): def __init__(self, *args, **kwargs): self.syntax = kwargs.pop('syntax', base.DEFAULT_SYNTAX) - super().__init__(*args, **kwargs) + super(SpecField, self).__init__(*args, **kwargs) def deconstruct(self): """Handle django.db.migrations.""" - name, path, args, kwargs = super().deconstruct() + name, path, args, kwargs = super(SpecField, self).deconstruct() if self.syntax != base.DEFAULT_SYNTAX: kwargs['syntax'] = self.syntax return name, path, args, kwargs -- cgit v1.2.1