From 1672ffa1330a96dec6da8e7c67fba87a47144f06 Mon Sep 17 00:00:00 2001 From: David Szotten Date: Sat, 30 Dec 2017 14:31:03 +0000 Subject: [PATCH 1/2] django 2.0 compat --- .travis.yml | 17 ++++++++++++++++- mailer/models.py | 8 +++++--- tox.ini | 16 +++++++++------- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3abc54a9..c8a428a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: python -python: 3.5 # this is needed to fool travis to have python3.5 as well +python: 3.6 # this is needed to fool travis to have python3.6 as well env: - TOXENV=py27-django14-test - TOXENV=py27-django15-test @@ -9,18 +9,33 @@ env: - TOXENV=py27-django19-test - TOXENV=py27-django110-test - TOXENV=py27-django111-test + - TOXENV=py33-django15-test + - TOXENV=py33-django16-test + - TOXENV=py33-django17-test + - TOXENV=py33-django18-test + - TOXENV=py34-django15-test - TOXENV=py34-django16-test - TOXENV=py34-django17-test - TOXENV=py34-django18-test - TOXENV=py34-django19-test - TOXENV=py34-django110-test - TOXENV=py34-django111-test + - TOXENV=py34-django20-test - TOXENV=py35-django18-test - TOXENV=py35-django19-test - TOXENV=py35-django110-test - TOXENV=py35-django111-test + - TOXENV=py35-django20-test + - TOXENV=py36-django18-test + - TOXENV=py36-django19-test + - TOXENV=py36-django110-test + - TOXENV=py36-django111-test + - TOXENV=py36-django20-test - TOXENV=py27-flake + - TOXENV=py33-flake - TOXENV=py34-flake + - TOXENV=py35-flake + - TOXENV=py36-flake - TOXENV=checkmanifest install: - pip install coveralls tox>=2.1 diff --git a/mailer/models.py b/mailer/models.py index 1204589e..6c1a5bf7 100644 --- a/mailer/models.py +++ b/mailer/models.py @@ -80,9 +80,11 @@ def retry_deferred(self, new_priority=PRIORITY_MEDIUM): def email_to_db(email): - # pickle.dumps returns essentially binary data which we need to encode - # to store in a unicode field. - return base64_encode(pickle.dumps(email)) + # pickle.dumps returns essentially binary data which we need to base64 + # encode to store in a unicode field. finally we encode back to make sure + # we only try to insert unicode strings into the db, since we use a + # TextField + return base64_encode(pickle.dumps(email)).decode('ascii') def db_to_email(data): diff --git a/tox.ini b/tox.ini index 3c4fbec0..cdc01697 100644 --- a/tox.ini +++ b/tox.ini @@ -3,9 +3,9 @@ envlist = py27-django{14,15,16,17,18,19,110,111}-test, py33-django{15,16,17,18}-test, - py34-django{15,16,17,18,19,110,111}-test, - py35-django{18,19,110,111}-test, - {py27,py33,py34,py35}-flake, + py34-django{15,16,17,18,19,110,111,20}-test, + {py35,py36}-django{18,19,110,111,20}-test, + {py27,py33,py34,py35,py36}-flake, checkmanifest, [flake8] @@ -19,6 +19,7 @@ basepython = py33: python3.3 py34: python3.4 py35: python3.5 + py36: python3.6 commands = test: coverage run ./runtests.py flake: flake8 --statistics --benchmark mailer @@ -30,10 +31,11 @@ deps = django15: Django==1.5.12 django16: Django==1.6.11 django17: Django==1.7.11 - django18: Django==1.8.17 - django19: Django==1.9.12 - django110: Django==1.10.5 - django111: Django==1.11.4 + django18: Django==1.8.18 + django19: Django==1.9.13 + django110: Django==1.10.8 + django111: Django==1.11.8 + django20: Django==2.0 flake: flake8==3.2.1 py27-flake: Django<2.0 From a20ed2d43fb982a71b7bf328fca503a3e8acea65 Mon Sep 17 00:00:00 2001 From: David Szotten Date: Sat, 30 Dec 2017 14:47:23 +0000 Subject: [PATCH 2/2] python 3.3 is past end-of-life --- .travis.yml | 5 ----- tox.ini | 4 +--- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index c8a428a9..3b92bae2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,10 +9,6 @@ env: - TOXENV=py27-django19-test - TOXENV=py27-django110-test - TOXENV=py27-django111-test - - TOXENV=py33-django15-test - - TOXENV=py33-django16-test - - TOXENV=py33-django17-test - - TOXENV=py33-django18-test - TOXENV=py34-django15-test - TOXENV=py34-django16-test - TOXENV=py34-django17-test @@ -32,7 +28,6 @@ env: - TOXENV=py36-django111-test - TOXENV=py36-django20-test - TOXENV=py27-flake - - TOXENV=py33-flake - TOXENV=py34-flake - TOXENV=py35-flake - TOXENV=py36-flake diff --git a/tox.ini b/tox.ini index cdc01697..21b0094f 100644 --- a/tox.ini +++ b/tox.ini @@ -2,10 +2,9 @@ # Remember to add to .travis.yml if this is added to. envlist = py27-django{14,15,16,17,18,19,110,111}-test, - py33-django{15,16,17,18}-test, py34-django{15,16,17,18,19,110,111,20}-test, {py35,py36}-django{18,19,110,111,20}-test, - {py27,py33,py34,py35,py36}-flake, + {py27,py34,py35,py36}-flake, checkmanifest, [flake8] @@ -16,7 +15,6 @@ exclude=mailer/south_migrations,mailer/migrations,build [testenv] basepython = py27: python2.7 - py33: python3.3 py34: python3.4 py35: python3.5 py36: python3.6