From 7c22166cafd51896b9a75845bfaf12c4457d0c81 Mon Sep 17 00:00:00 2001 From: Marcus Martins Date: Mon, 5 Jan 2015 16:14:24 -0800 Subject: [PATCH 1/5] Relax install_requires for package --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ba8b722..858d4d7 100644 --- a/setup.py +++ b/setup.py @@ -37,6 +37,6 @@ setup(name='django-defender', author_email='kencochrane@gmail.com', license='Apache 2', packages=['defender'], - install_requires=['django==1.6.8', 'redis==2.10.3', 'hiredis==0.1.4', ], + install_requires=['Django>=1.4,<1.7', 'redis==2.10.3', 'hiredis==0.1.4', ], tests_require=['mock', 'mockredispy', 'coverage', 'celery'], ) From 123e3dc7be62cf3e833e0f2ee95c01c38fc0134a Mon Sep 17 00:00:00 2001 From: Marcus Martins Date: Mon, 5 Jan 2015 16:57:50 -0800 Subject: [PATCH 2/5] Limit django supported versions Limit the supported version to Django 1.6.x and 1.7.x --- .travis.yml | 2 -- README.md | 2 +- setup.py | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index a2d499f..5a87779 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,8 +8,6 @@ python: - "pypy" env: - - DJANGO=Django==1.4.17 - - DJANGO=Django==1.5.12 - DJANGO=Django==1.6.9 - DJANGO=Django==1.7.2 diff --git a/README.md b/README.md index 58427c6..e0d442a 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,7 @@ to improve the login. requirements ============ -- django: 1.4.x, 1.5.x, 1.6.x, 1.7.x +- django: 1.6.x, 1.7.x - redis - python: 2.6.x, 2.7.x, 3.3.x, 3.4.x, PyPy diff --git a/setup.py b/setup.py index 858d4d7..37c8cc8 100644 --- a/setup.py +++ b/setup.py @@ -37,6 +37,6 @@ setup(name='django-defender', author_email='kencochrane@gmail.com', license='Apache 2', packages=['defender'], - install_requires=['Django>=1.4,<1.7', 'redis==2.10.3', 'hiredis==0.1.4', ], + install_requires=['Django>=1.6,<1.8', 'redis==2.10.3', 'hiredis==0.1.4', ], tests_require=['mock', 'mockredispy', 'coverage', 'celery'], ) From e78016c0750fd011d52848163e28adc03332342a Mon Sep 17 00:00:00 2001 From: Marcus Martins Date: Mon, 5 Jan 2015 17:08:13 -0800 Subject: [PATCH 3/5] Don't build django 1.7 with python 2.6 --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index 5a87779..1ca8a1e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,5 +25,10 @@ script: - PYTHONPATH=$PYTHONPATH:$PWD coverage run --source=defender $(which django-admin.py) test defender --settings=defender.travis_settings - coverage report -m +matrix: + exclude: + - python: "2.6" + env: DJANGO=Django==1.7.2 + after_success: - coveralls --verbose From 0454bf741ad07b53965f62049be3b9f2c2a50f35 Mon Sep 17 00:00:00 2001 From: Marcus Martins Date: Mon, 5 Jan 2015 17:20:24 -0800 Subject: [PATCH 4/5] Adding unicode support for python3 --- defender/models.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/defender/models.py b/defender/models.py index 2f38395..f721264 100644 --- a/defender/models.py +++ b/defender/models.py @@ -1,6 +1,10 @@ +from __future__ import unicode_literals + from django.db import models +from django.utils.encoding import python_2_unicode_compatible +@python_2_unicode_compatible class AccessAttempt(models.Model): user_agent = models.CharField( max_length=255, @@ -31,8 +35,8 @@ class AccessAttempt(models.Model): class Meta: ordering = ['-attempt_time'] - def __unicode__(self): + def __str__(self): """ unicode value for this model """ - return u"{0} @ {1} | {2}".format(self.username, - self.attempt_time, - self.login_valid) + return "{0} @ {1} | {2}".format(self.username, + self.attempt_time, + self.login_valid) From 43d91ef6943d09478d8e3515a070e625d9db67a0 Mon Sep 17 00:00:00 2001 From: Marcus Martins Date: Mon, 5 Jan 2015 17:47:57 -0800 Subject: [PATCH 5/5] Fix tests for Django 1.7 --- defender/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defender/tests.py b/defender/tests.py index 68c9647..ba3e38a 100644 --- a/defender/tests.py +++ b/defender/tests.py @@ -32,7 +32,7 @@ def mock_get_connection(): # Django >= 1.7 compatibility try: - LOGIN_FORM_KEY = '
' + LOGIN_FORM_KEY = '' ADMIN_LOGIN_URL = reverse('admin:login') except NoReverseMatch: ADMIN_LOGIN_URL = reverse('admin:index')