From 41817f16d6d587f18268fb321ec2bec709d7b911 Mon Sep 17 00:00:00 2001 From: Vlad Temian Date: Fri, 8 May 2020 16:16:28 +0300 Subject: [PATCH 1/4] Replace force_text with force_str for django >= 3 --- fernet_fields/fields.py | 4 +++- fernet_fields/test/test_fields.py | 11 +++++++---- fernet_fields/utils.py | 8 ++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 fernet_fields/utils.py diff --git a/fernet_fields/fields.py b/fernet_fields/fields.py index 43569dd..ab704ea 100644 --- a/fernet_fields/fields.py +++ b/fernet_fields/fields.py @@ -1,10 +1,12 @@ from cryptography.fernet import Fernet, MultiFernet + from django.conf import settings from django.core.exceptions import FieldError, ImproperlyConfigured from django.db import models -from django.utils.encoding import force_bytes, force_text +from django.utils.encoding import force_bytes from django.utils.functional import cached_property +from .utils import force_text from . import hkdf diff --git a/fernet_fields/test/test_fields.py b/fernet_fields/test/test_fields.py index bd8e5b8..9a52327 100644 --- a/fernet_fields/test/test_fields.py +++ b/fernet_fields/test/test_fields.py @@ -1,12 +1,15 @@ -from cryptography.fernet import Fernet from datetime import date, datetime -from django.core.exceptions import FieldError, ImproperlyConfigured -from django.db import connection, models as dj_models -from django.utils.encoding import force_bytes, force_text import pytest +from cryptography.fernet import Fernet import fernet_fields as fields + +from django.core.exceptions import FieldError, ImproperlyConfigured +from django.db import connection, models as dj_models +from django.utils.encoding import force_bytes + +from .utils import force_text from . import models diff --git a/fernet_fields/utils.py b/fernet_fields/utils.py new file mode 100644 index 0000000..aff6f9c --- /dev/null +++ b/fernet_fields/utils.py @@ -0,0 +1,8 @@ +import django + + +DJANGO_VERSION = django.get_version().split('.') +if DJANGO_VERSION[0] < "3": + from django.utils.encoding import force_text +else: + from django.utils.encoding import force_str as force_text From b221aecff653378c2875f32a1fbe75c7262c15cf Mon Sep 17 00:00:00 2001 From: Vlad Temian Date: Fri, 8 May 2020 16:23:17 +0300 Subject: [PATCH 2/4] Update tox with django 3.0 --- tox.ini | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 8dc7d30..68e9e9d 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ envlist = py36-{docs,flake8}, py{27,35,36,37,py}-django111-{pg,sqlite}, - py{35,36,37}-{django21,django22,djangolatest}-{pg,sqlite}, + py{35,36,37}-{django21,django22,django30,djangolatest}-{pg,sqlite}, flake8, docs @@ -20,7 +20,8 @@ deps = django111: Django>=1.11,<2 django21: Django>=2.1,<2.2 django22: Django>=2.2,<2.3 - djangolatest: Django>=2.2 + django30: Django>=3.0,<3.1 + djangolatest: Django>=3.0 # Older PyPy versions (and all released PyPy3 versions) don't work with cryptography 1.0 py{py,py3}: cryptography<1 From 69a77ecdf6313c962efa0fd34d6acd39d88fb8f5 Mon Sep 17 00:00:00 2001 From: Vlad Temian Date: Fri, 8 May 2020 16:27:52 +0300 Subject: [PATCH 3/4] Fix force_text util import --- fernet_fields/test/test_fields.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fernet_fields/test/test_fields.py b/fernet_fields/test/test_fields.py index 9a52327..cf52489 100644 --- a/fernet_fields/test/test_fields.py +++ b/fernet_fields/test/test_fields.py @@ -1,15 +1,15 @@ from datetime import date, datetime import pytest - from cryptography.fernet import Fernet -import fernet_fields as fields from django.core.exceptions import FieldError, ImproperlyConfigured from django.db import connection, models as dj_models from django.utils.encoding import force_bytes -from .utils import force_text +import fernet_fields as fields +from fernet_fields.utils import force_text + from . import models From f1171347e86940d402d132c1f988d2e98bfb3a37 Mon Sep 17 00:00:00 2001 From: Vlad Temian Date: Fri, 8 May 2020 16:49:46 +0300 Subject: [PATCH 4/4] Use a simpler logic to get django's version --- fernet_fields/utils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fernet_fields/utils.py b/fernet_fields/utils.py index aff6f9c..12d6d79 100644 --- a/fernet_fields/utils.py +++ b/fernet_fields/utils.py @@ -1,8 +1,7 @@ -import django +from django import VERSION as DJANGO_VERSION -DJANGO_VERSION = django.get_version().split('.') -if DJANGO_VERSION[0] < "3": +if DJANGO_VERSION[0] < 3: from django.utils.encoding import force_text else: from django.utils.encoding import force_str as force_text