diff options
author | Stephen Finucane <stephen@that.guru> | 2017-05-18 21:17:43 +0100 |
---|---|---|
committer | Stephen Finucane <stephen@that.guru> | 2017-05-18 21:17:43 +0100 |
commit | 2e86067db350f0ffce615cf9a4643154b79ff17c (patch) | |
tree | f12f90a138658d7c15e0f96d596d81501b3002e6 | |
parent | 8585ea5afec383c9c5622843bcff0e6c448614c7 (diff) | |
download | patchwork-2e86067db350f0ffce615cf9a4643154b79ff17c.tar patchwork-2e86067db350f0ffce615cf9a4643154b79ff17c.tar.gz |
compat: Handle moved 'reverse' function
This raises a warning in Django 1.10 and will cause an error in 2.0.
Signed-off-by: Stephen Finucane <stephen@that.guru>
30 files changed, 58 insertions, 50 deletions
diff --git a/patchwork/compat.py b/patchwork/compat.py index af7d684..cd4da4c 100644 --- a/patchwork/compat.py +++ b/patchwork/compat.py @@ -76,3 +76,16 @@ if settings.ENABLE_REST_API: LOOKUP_FIELD = 'lookup_expr' else: LOOKUP_FIELD = 'lookup_type' + + +# reverse +# +# The reverse function has been moved to django.urls in Django 1.10 and +# backwards compatible imports will be removed in Django 2.0 + +if django.VERSION >= (1, 10): + from django.urls import NoReverseMatch # noqa + from django.urls import reverse # noqa +else: + from django.core.urlresolvers import NoReverseMatch # noqa + from django.core.urlresolvers import reverse # noqa diff --git a/patchwork/templatetags/listurl.py b/patchwork/templatetags/listurl.py index 9d3b685..6b9106e 100644 --- a/patchwork/templatetags/listurl.py +++ b/patchwork/templatetags/listurl.py @@ -20,11 +20,12 @@ from __future__ import absolute_import from django.conf import settings -from django.core.urlresolvers import reverse, NoReverseMatch from django import template from django.utils.encoding import smart_str from django.utils.html import escape +from patchwork.compat import reverse +from patchwork.compat import NoReverseMatch from patchwork.filters import filterclasses diff --git a/patchwork/templatetags/person.py b/patchwork/templatetags/person.py index adbabb0..a6f23e9 100644 --- a/patchwork/templatetags/person.py +++ b/patchwork/templatetags/person.py @@ -19,11 +19,11 @@ from __future__ import absolute_import -from django.core.urlresolvers import reverse from django import template from django.utils.html import escape from django.utils.safestring import mark_safe +from patchwork.compat import reverse from patchwork.filters import SubmitterFilter diff --git a/patchwork/tests/test_about.py b/patchwork/tests/test_about.py index 24246ed..f405968 100644 --- a/patchwork/tests/test_about.py +++ b/patchwork/tests/test_about.py @@ -17,9 +17,10 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse + class AboutViewTest(TestCase): diff --git a/patchwork/tests/test_bundles.py b/patchwork/tests/test_bundles.py index 7f98d36..0dc9165 100644 --- a/patchwork/tests/test_bundles.py +++ b/patchwork/tests/test_bundles.py @@ -23,13 +23,13 @@ import datetime import unittest from django.conf import settings -from django.core.urlresolvers import reverse from django.test import TestCase from django.utils.http import urlencode from django.utils import six from django.utils.six.moves import range from django.utils.six.moves import zip +from patchwork.compat import reverse from patchwork.models import Bundle from patchwork.models import BundlePatch from patchwork.tests.utils import create_bundle diff --git a/patchwork/tests/test_completion.py b/patchwork/tests/test_completion.py index a07999a..8297e57 100644 --- a/patchwork/tests/test_completion.py +++ b/patchwork/tests/test_completion.py @@ -21,10 +21,10 @@ from __future__ import absolute_import import json -from django.core.urlresolvers import reverse from django.test import TestCase from django.utils.six.moves import range +from patchwork.compat import reverse from patchwork.tests.utils import create_person diff --git a/patchwork/tests/test_confirm.py b/patchwork/tests/test_confirm.py index ff3e383..ed26431 100644 --- a/patchwork/tests/test_confirm.py +++ b/patchwork/tests/test_confirm.py @@ -17,9 +17,9 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.models import EmailConfirmation from patchwork.tests.utils import create_user diff --git a/patchwork/tests/test_detail.py b/patchwork/tests/test_detail.py index ef93bbf..5d8534e 100644 --- a/patchwork/tests/test_detail.py +++ b/patchwork/tests/test_detail.py @@ -19,9 +19,9 @@ from __future__ import absolute_import -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.tests.utils import create_comment from patchwork.tests.utils import create_cover from patchwork.tests.utils import create_patch diff --git a/patchwork/tests/test_encodings.py b/patchwork/tests/test_encodings.py index fd49578..fe094d5 100644 --- a/patchwork/tests/test_encodings.py +++ b/patchwork/tests/test_encodings.py @@ -16,9 +16,9 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.tests.utils import create_person from patchwork.tests.utils import create_patch from patchwork.tests.utils import read_patch diff --git a/patchwork/tests/test_filters.py b/patchwork/tests/test_filters.py index 0689b0c..23cf0ff 100644 --- a/patchwork/tests/test_filters.py +++ b/patchwork/tests/test_filters.py @@ -17,9 +17,9 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.tests.utils import create_project diff --git a/patchwork/tests/test_list.py b/patchwork/tests/test_list.py index 4a54001..11b9da9 100644 --- a/patchwork/tests/test_list.py +++ b/patchwork/tests/test_list.py @@ -22,10 +22,10 @@ from __future__ import absolute_import from datetime import datetime as dt import re -from django.core.urlresolvers import reverse from django.test import TestCase from django.utils.six.moves import zip +from patchwork.compat import reverse from patchwork.models import Patch from patchwork.tests.utils import create_patch from patchwork.tests.utils import create_person diff --git a/patchwork/tests/test_mail_settings.py b/patchwork/tests/test_mail_settings.py index b96b0b5..1eb4975 100644 --- a/patchwork/tests/test_mail_settings.py +++ b/patchwork/tests/test_mail_settings.py @@ -20,9 +20,9 @@ import re from django.core import mail -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.models import EmailOptout from patchwork.models import EmailConfirmation from patchwork.tests.utils import create_person diff --git a/patchwork/tests/test_mboxviews.py b/patchwork/tests/test_mboxviews.py index 31c3b85..0dc4abb 100644 --- a/patchwork/tests/test_mboxviews.py +++ b/patchwork/tests/test_mboxviews.py @@ -24,9 +24,9 @@ import dateutil.parser import dateutil.tz import email -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.tests.utils import create_comment from patchwork.tests.utils import create_patch from patchwork.tests.utils import create_project diff --git a/patchwork/tests/test_paginator.py b/patchwork/tests/test_paginator.py index 8597f6a..2291eb0 100644 --- a/patchwork/tests/test_paginator.py +++ b/patchwork/tests/test_paginator.py @@ -17,9 +17,9 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.tests.utils import create_patches from patchwork.tests.utils import create_project from patchwork.tests.utils import create_user diff --git a/patchwork/tests/test_projects.py b/patchwork/tests/test_projects.py index 8390419..804bdda 100644 --- a/patchwork/tests/test_projects.py +++ b/patchwork/tests/test_projects.py @@ -17,9 +17,9 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.tests import utils diff --git a/patchwork/tests/test_registration.py b/patchwork/tests/test_registration.py index 3f210d3..28581eb 100644 --- a/patchwork/tests/test_registration.py +++ b/patchwork/tests/test_registration.py @@ -19,10 +19,10 @@ from django.contrib.auth.models import User from django.core import mail -from django.core.urlresolvers import reverse from django.test.client import Client from django.test import TestCase +from patchwork.compat import reverse from patchwork.models import EmailConfirmation, Person from patchwork.tests.utils import create_user diff --git a/patchwork/tests/test_rest_api.py b/patchwork/tests/test_rest_api.py index c63f672..2b064a2 100644 --- a/patchwork/tests/test_rest_api.py +++ b/patchwork/tests/test_rest_api.py @@ -21,8 +21,8 @@ from email.utils import make_msgid import unittest from django.conf import settings -from django.core.urlresolvers import reverse +from patchwork.compat import reverse from patchwork.models import Check from patchwork.models import Patch from patchwork.models import Project diff --git a/patchwork/tests/test_updates.py b/patchwork/tests/test_updates.py index ec5816c..80367f4 100644 --- a/patchwork/tests/test_updates.py +++ b/patchwork/tests/test_updates.py @@ -17,9 +17,9 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.models import Patch from patchwork.models import State from patchwork.tests.utils import create_patches diff --git a/patchwork/tests/test_user.py b/patchwork/tests/test_user.py index b2cc825..6dd41e1 100644 --- a/patchwork/tests/test_user.py +++ b/patchwork/tests/test_user.py @@ -19,9 +19,9 @@ from django.contrib.auth.models import User from django.core import mail -from django.core.urlresolvers import reverse from django.test import TestCase +from patchwork.compat import reverse from patchwork.models import EmailConfirmation from patchwork.models import Person from patchwork.models import UserProfile diff --git a/patchwork/tests/test_user_browser.py b/patchwork/tests/test_user_browser.py index d09b341..ad4143f 100644 --- a/patchwork/tests/test_user_browser.py +++ b/patchwork/tests/test_user_browser.py @@ -17,8 +17,7 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core.urlresolvers import reverse - +from patchwork.compat import reverse from patchwork.tests.browser import SeleniumTestCase from patchwork.tests.utils import create_user diff --git a/patchwork/tests/test_xmlrpc.py b/patchwork/tests/test_xmlrpc.py index ddaded8..8edc07a 100644 --- a/patchwork/tests/test_xmlrpc.py +++ b/patchwork/tests/test_xmlrpc.py @@ -20,10 +20,10 @@ import unittest from django.conf import settings -from django.core.urlresolvers import reverse from django.test import LiveServerTestCase from django.utils.six.moves import xmlrpc_client +from patchwork.compat import reverse from patchwork.tests import utils diff --git a/patchwork/views/about.py b/patchwork/views/about.py index 6d8579d..24a0845 100644 --- a/patchwork/views/about.py +++ b/patchwork/views/about.py @@ -19,10 +19,11 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA from django.conf import settings -from django.core.urlresolvers import reverse from django.http import HttpResponsePermanentRedirect from django.shortcuts import render +from patchwork.compat import reverse + def about(request): context = { diff --git a/patchwork/views/bundle.py b/patchwork/views/bundle.py index 89acb34..dc9b74b 100644 --- a/patchwork/views/bundle.py +++ b/patchwork/views/bundle.py @@ -19,13 +19,13 @@ from django.conf import settings from django.contrib.auth.decorators import login_required -from django.core import urlresolvers from django.http import HttpResponse from django.http import HttpResponseRedirect from django.http import HttpResponseNotFound from django.shortcuts import get_object_or_404 from django.shortcuts import render +from patchwork.compat import reverse from patchwork.filters import DelegateFilter from patchwork.forms import BundleForm from patchwork.forms import DeleteBundleForm @@ -89,9 +89,7 @@ def bundle_detail(request, username, bundlename): action = request.POST.get('action', '').lower() if action == 'delete': bundle.delete() - return HttpResponseRedirect( - urlresolvers.reverse('user-profile') - ) + return HttpResponseRedirect(reverse('user-profile')) elif action == 'update': form = BundleForm(request.POST, instance=bundle) if form.is_valid(): @@ -163,8 +161,8 @@ def bundle_detail_redir(request, bundle_id): @login_required def bundle_mbox_redir(request, bundle_id): bundle = get_object_or_404(Bundle, id=bundle_id, owner=request.user) - return HttpResponseRedirect(urlresolvers.reverse( - 'bundle-mbox', kwargs={ - 'username': request.user.username, - 'bundlename': bundle.name, - })) + return HttpResponseRedirect( + reverse('bundle-mbox', kwargs={ + 'username': request.user.username, + 'bundlename': bundle.name, + })) diff --git a/patchwork/views/comment.py b/patchwork/views/comment.py index e4f4f89..987f76c 100644 --- a/patchwork/views/comment.py +++ b/patchwork/views/comment.py @@ -17,10 +17,10 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core import urlresolvers from django import http from django import shortcuts +from patchwork.compat import reverse from patchwork import models @@ -35,5 +35,4 @@ def comment(request, comment_id): key = 'cover_id' return http.HttpResponseRedirect('%s#%s' % ( - urlresolvers.reverse(url, kwargs={key: submission.id}), - comment_id)) + reverse(url, kwargs={key: submission.id}), comment_id)) diff --git a/patchwork/views/cover.py b/patchwork/views/cover.py index af1b2f2..21bfde2 100644 --- a/patchwork/views/cover.py +++ b/patchwork/views/cover.py @@ -17,12 +17,12 @@ # along with Patchwork; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -from django.core import urlresolvers from django.http import Http404 from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from django.shortcuts import render_to_response +from patchwork.compat import reverse from patchwork.models import CoverLetter from patchwork.models import Submission @@ -35,9 +35,7 @@ def cover_detail(request, cover_id): submissions = Submission.objects.filter(id=cover_id) if submissions: return HttpResponseRedirect( - urlresolvers.reverse( - 'patch-detail', - kwargs={'patch_id': cover_id})) + reverse('patch-detail', kwargs={'patch_id': cover_id})) raise exc context = { diff --git a/patchwork/views/mail.py b/patchwork/views/mail.py index 0875d34..49c7972 100644 --- a/patchwork/views/mail.py +++ b/patchwork/views/mail.py @@ -21,11 +21,11 @@ import smtplib from django.conf import settings as conf_settings from django.core.mail import send_mail -from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import render from patchwork.compat import render_to_string +from patchwork.compat import reverse from patchwork.forms import EmailForm from patchwork.models import EmailConfirmation from patchwork.models import EmailOptout diff --git a/patchwork/views/patch.py b/patchwork/views/patch.py index 4c1a363..5dafd65 100644 --- a/patchwork/views/patch.py +++ b/patchwork/views/patch.py @@ -18,7 +18,6 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA from django.contrib import messages -from django.core import urlresolvers from django.http import Http404 from django.http import HttpResponse from django.http import HttpResponseForbidden @@ -26,6 +25,7 @@ from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from django.shortcuts import render +from patchwork.compat import reverse from patchwork.forms import CreateBundleForm from patchwork.forms import PatchForm from patchwork.models import Bundle @@ -52,9 +52,7 @@ def patch_detail(request, patch_id): submissions = Submission.objects.filter(id=patch_id) if submissions: return HttpResponseRedirect( - urlresolvers.reverse( - 'cover-detail', - kwargs={'cover_id': patch_id})) + reverse('cover-detail', kwargs={'cover_id': patch_id})) raise exc editable = patch.is_editable(request.user) diff --git a/patchwork/views/project.py b/patchwork/views/project.py index 6184805..484455c 100644 --- a/patchwork/views/project.py +++ b/patchwork/views/project.py @@ -19,11 +19,11 @@ from django.conf import settings from django.contrib.auth.models import User -from django.core import urlresolvers from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from django.shortcuts import render +from patchwork.compat import reverse from patchwork.models import Patch from patchwork.models import Project @@ -33,8 +33,8 @@ def project_list(request): if projects.count() == 1: return HttpResponseRedirect( - urlresolvers.reverse('patch-list', - kwargs={'project_id': projects[0].linkname})) + reverse('patch-list', + kwargs={'project_id': projects[0].linkname})) context = { 'projects': projects, diff --git a/patchwork/views/user.py b/patchwork/views/user.py index 7c29087..375d3d9 100644 --- a/patchwork/views/user.py +++ b/patchwork/views/user.py @@ -24,12 +24,12 @@ from django.contrib.auth.decorators import login_required from django.contrib.sites.models import Site from django.conf import settings from django.core.mail import send_mail -from django.core import urlresolvers from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from django.shortcuts import render from patchwork.compat import render_to_string +from patchwork.compat import reverse from patchwork.filters import DelegateFilter from patchwork.forms import EmailForm from patchwork.forms import RegistrationForm @@ -188,7 +188,7 @@ def unlink(request, person_id): person.user = None person.save() - return HttpResponseRedirect(urlresolvers.reverse('user-profile')) + return HttpResponseRedirect(reverse('user-profile')) @login_required @@ -204,7 +204,7 @@ def todo_lists(request): if len(todo_lists) == 1: return HttpResponseRedirect( - urlresolvers.reverse( + reverse( 'user-todo', kwargs={'project_id': todo_lists[0]['project'].linkname})) diff --git a/patchwork/views/xmlrpc.py b/patchwork/views/xmlrpc.py index 927ec9c..8de9d10 100644 --- a/patchwork/views/xmlrpc.py +++ b/patchwork/views/xmlrpc.py @@ -30,7 +30,6 @@ except ImportError: from xmlrpc.server import XMLRPCDocGenerator import sys -from django.core.urlresolvers import reverse from django.contrib.auth import authenticate from django.http import HttpResponse from django.http import HttpResponseRedirect @@ -40,6 +39,7 @@ from django.utils import six from django.utils.six.moves import xmlrpc_client from django.utils.six.moves.xmlrpc_server import SimpleXMLRPCDispatcher +from patchwork.compat import reverse from patchwork.models import Check from patchwork.models import Patch from patchwork.models import Person |