]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
compat: Handle moved 'reverse' function
authorStephen Finucane <stephen@that.guru>
Thu, 18 May 2017 20:17:43 +0000 (21:17 +0100)
committerStephen Finucane <stephen@that.guru>
Thu, 18 May 2017 20:17:43 +0000 (21:17 +0100)
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:
patchwork/compat.py
patchwork/templatetags/listurl.py
patchwork/templatetags/person.py
patchwork/tests/test_about.py
patchwork/tests/test_bundles.py
patchwork/tests/test_completion.py
patchwork/tests/test_confirm.py
patchwork/tests/test_detail.py
patchwork/tests/test_encodings.py
patchwork/tests/test_filters.py
patchwork/tests/test_list.py
patchwork/tests/test_mail_settings.py
patchwork/tests/test_mboxviews.py
patchwork/tests/test_paginator.py
patchwork/tests/test_projects.py
patchwork/tests/test_registration.py
patchwork/tests/test_rest_api.py
patchwork/tests/test_updates.py
patchwork/tests/test_user.py
patchwork/tests/test_user_browser.py
patchwork/tests/test_xmlrpc.py
patchwork/views/about.py
patchwork/views/bundle.py
patchwork/views/comment.py
patchwork/views/cover.py
patchwork/views/mail.py
patchwork/views/patch.py
patchwork/views/project.py
patchwork/views/user.py
patchwork/views/xmlrpc.py

index af7d684a9670ad28bf87c1f46e35211c28690c55..cd4da4c90951fae439146dbebf9904be97b72fb0 100644 (file)
@@ -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
index 9d3b685521f95bb8fa9fcbe58e615fdb8b0f58ae..6b9106e9cd2429705f68547066d04d199d860c53 100644 (file)
 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
 
 
index adbabb0e142cb8a77aff28f892cfad254c487a06..a6f23e917fc8ed0d78ba04813d44ff18c84d3d3c 100644 (file)
 
 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
 
 
index 24246eddd0d7df563d79e6d56bef57d0cf7d2067..f40596827bc2e15a59220e36221e7d26b34bb4ad 100644 (file)
 # 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):
 
index 7f98d36c4be751d37bee80b94df00906f96ca430..0dc9165b1a0ce2647b9168f874d56bd2f35f1e82 100644 (file)
@@ -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
index a07999a56d0784e0c42e4ff2d3ba6823d6d74777..8297e57130b3fd81ae63bb0e69cd2f2c3d3e87fd 100644 (file)
@@ -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
 
 
index ff3e38398977f81d6147c28c31760a99858b26cb..ed264313c4340dac337a44c448680b5fa238e736 100644 (file)
@@ -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
 
index ef93bbf0f951fae22e3e36cb603c8efc1dff195f..5d8534eae17b7ae67267bd16fd8ca406be1471b4 100644 (file)
@@ -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
index fd49578f9a86886edeeb596d621d5d010d1bbb08..fe094d58d39437b5dd4c019acd550c1a48112295 100644 (file)
@@ -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
index 0689b0cf0884936879ae3c78c428c7343c29f865..23cf0ff094e6fb996a8f495fbe167f508b21b0d6 100644 (file)
@@ -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
 
 
index 4a54001871e6810c6c0d9b063db563c481783c59..11b9da9c11d381454e1afaabaf4038cb51b18b52 100644 (file)
@@ -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
index b96b0b5750fe449e5856251277c8c54f83ee2f47..1eb49753440419a62da629b6311e317219d5ed08 100644 (file)
@@ -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
index 31c3b854ca47b85301ee7c8a086973acac90962b..0dc4abbeb71565433f45c216266f71d7daa56169 100644 (file)
@@ -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
index 8597f6a47f6e4c1798f33ee819407dd1584abe48..2291eb058fe092a60ee69edf2a6a964e54b5592a 100644 (file)
@@ -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
index 8390419b240f2c80b26971009590c819bc092c18..804bdda280314c2d1dd36f13e0a69971d88bb519 100644 (file)
@@ -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
 
 
index 3f210d34b0042b60b0736a8cd056b7064d47b5b8..28581eb5c1fcccba67b03ddd2bed2c7693e08dbc 100644 (file)
 
 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
 
index c63f6728ee653f9ff8ec9da877e1e10ffbaacd7c..2b064a25028e6401ecc171da6a7858dc8dee4b3c 100644 (file)
@@ -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
index ec5816c3be7aea9fab785d50e2c2f03fc275f597..80367f454f6032f3c6752a81f59edbc6362358a5 100644 (file)
@@ -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
index b2cc82520bbe706825ee47c211c8fbc1728dfe5b..6dd41e1f00e7d39feb0e51984bb3bd4b71993450 100644 (file)
@@ -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
index d09b3413e737b438ea012ba3f8a5360d98ceb9d9..ad4143fcbc833ecbfb09439b83bb945b7be61113 100644 (file)
@@ -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
 
index ddaded84a789feffda7737de274600c21f8cb750..8edc07ac4bcb7d68b20927c33a841d1c19eb4a34 100644 (file)
 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
 
 
index 6d8579d64b8cf4a594823a76b10d34977db13e7e..24a0845e200236a214c18b42fc5c6a9ea2b7baf5 100644 (file)
 # 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 = {
index 89acb3482ce33ef0dc0aa952dea6925ce8b549ba..dc9b74bf6514cc11c2845b515d6bf74c89cbd39d 100644 (file)
 
 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,
+        }))
index e4f4f8988874cd7389264ba75a96afdfd152740c..987f76c50b2470f3107147f594ef917197572df9 100644 (file)
 # 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))
index af1b2f2f4a9e1c317bb00e9adb316b5cfe938be9..21bfde2a1922b1aaa186ae211c1832c72370dffd 100644 (file)
 # 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 = {
index 0875d34cd4e6ee70053bdb05dd53d29853e59a44..49c7972717a9a05517fb316a3ee03921b663d376 100644 (file)
@@ -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
index 4c1a36315d2e77da2db626d1e4a6ca946c0a594d..5dafd65b7b1af4c9d6ab75a4c9fccd9ce7e0d648 100644 (file)
@@ -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)
index 618480547e2a59d65544b47ee084b2302ba0658e..484455c02d9da46139503a358a06a5315ee2f74e 100644 (file)
 
 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,
index 7c290876c36b2c0853c183d6c31499d752133e03..375d3d9b8cc84d3bb1b27bc0744fa78af1a3fdc5 100644 (file)
@@ -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}))
 
index 927ec9c221e4a30cb3439f0cb9e077b899d88642..8de9d10e1d500b93b5616ebec00e14bb3e7e0993 100644 (file)
@@ -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