diff options
author | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2013-03-21 23:38:40 +0100 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2013-03-21 23:38:49 +0100 |
commit | 6aae60fb530f7608bc379a57a477e904a816544d (patch) | |
tree | 44a68fb691b7d9aeb0a560b54438f6f7180ce02d /src/semantic_version/django_fields.py | |
parent | a77278819e5f9637e8ff1954ec33ecbf753ac89a (diff) | |
download | semantic-version-6aae60fb530f7608bc379a57a477e904a816544d.tar.gz |
Add Python3 support.
Diffstat (limited to 'src/semantic_version/django_fields.py')
-rw-r--r-- | src/semantic_version/django_fields.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/semantic_version/django_fields.py b/src/semantic_version/django_fields.py index 3259331..6a70129 100644 --- a/src/semantic_version/django_fields.py +++ b/src/semantic_version/django_fields.py @@ -2,6 +2,8 @@ # Copyright (c) 2012-2013 Raphaël Barrois # This code is distributed under the two-clause BSD License. +from __future__ import unicode_literals + from django.db import models from django.utils.translation import ugettext_lazy as _ @@ -31,11 +33,16 @@ class BaseSemVerField(models.CharField): return super(BaseSemVerField, self).run_validators(str(value)) -class VersionField(BaseSemVerField): +# Py2 and Py3-compatible metaclass +SemVerField = models.SubfieldBase( + str('SemVerField'), (BaseSemVerField, models.CharField), {}) + + +class VersionField(SemVerField): default_error_messages = { - 'invalid': _(u"Enter a valid version number in X.Y.Z format."), + 'invalid': _("Enter a valid version number in X.Y.Z format."), } - description = _(u"Version") + description = _("Version") def __init__(self, *args, **kwargs): self.partial = kwargs.pop('partial', False) @@ -54,11 +61,11 @@ class VersionField(BaseSemVerField): return base.Version(value, partial=self.partial) -class SpecField(BaseSemVerField): +class SpecField(SemVerField): default_error_messages = { - 'invalid': _(u"Enter a valid version number spec list in ==X.Y.Z,>=A.B.C format."), + 'invalid': _("Enter a valid version number spec list in ==X.Y.Z,>=A.B.C format."), } - description = _(u"Version specification list") + description = _("Version specification list") def to_python(self, value): """Converts any value to a base.Spec field.""" |