diff --git a/readthedocs/builds/views.py b/readthedocs/builds/views.py index d8a9e7d45c5..b1e8146ea67 100644 --- a/readthedocs/builds/views.py +++ b/readthedocs/builds/views.py @@ -13,7 +13,7 @@ from builtins import object from django.contrib.auth.decorators import login_required -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import ( HttpResponseForbidden, HttpResponsePermanentRedirect, diff --git a/readthedocs/core/middleware.py b/readthedocs/core/middleware.py index 8e04c03055a..262fcb064e0 100644 --- a/readthedocs/core/middleware.py +++ b/readthedocs/core/middleware.py @@ -9,7 +9,7 @@ from django.contrib.sessions.middleware import SessionMiddleware from django.core.cache import cache from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist -from django.core.urlresolvers import get_urlconf, set_urlconf +from django.urls.base import get_urlconf, set_urlconf from django.http import Http404, HttpResponseBadRequest from django.utils.deprecation import MiddlewareMixin from django.utils.translation import ugettext_lazy as _ diff --git a/readthedocs/gold/views.py b/readthedocs/gold/views.py index 27ca00cfff4..a0122d8286c 100644 --- a/readthedocs/gold/views.py +++ b/readthedocs/gold/views.py @@ -2,13 +2,17 @@ """Gold subscription views.""" from __future__ import ( - absolute_import, division, print_function, unicode_literals) + absolute_import, + division, + print_function, + unicode_literals +) from django.conf import settings from django.contrib import messages from django.contrib.auth.decorators import login_required from django.contrib.messages.views import SuccessMessageMixin -from django.core.urlresolvers import reverse, reverse_lazy +from django.urls import reverse, reverse_lazy from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404, render from django.utils.translation import ugettext_lazy as _ diff --git a/readthedocs/integrations/admin.py b/readthedocs/integrations/admin.py index 00cb1390826..cbeabea02e6 100644 --- a/readthedocs/integrations/admin.py +++ b/readthedocs/integrations/admin.py @@ -2,7 +2,7 @@ from __future__ import absolute_import from django.contrib import admin -from django.core import urlresolvers +from django import urls from django.utils.safestring import mark_safe from pygments.formatters import HtmlFormatter @@ -96,7 +96,7 @@ def exchanges(self, obj): JSONField doesn't do well with fieldsets for whatever reason. This is just to link to the exchanges. """ - url = urlresolvers.reverse('admin:{0}_{1}_changelist'.format( + url = urls.reverse('admin:{0}_{1}_changelist'.format( HttpExchange._meta.app_label, # pylint: disable=protected-access HttpExchange._meta.model_name, # pylint: disable=protected-access )) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 6955e800edb..b93f71b9faa 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -10,7 +10,7 @@ from allauth.socialaccount.models import SocialAccount from django.conf import settings from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.core.validators import URLValidator from django.db import models from django.db.models import Q diff --git a/readthedocs/oauth/notifications.py b/readthedocs/oauth/notifications.py index 0a457873702..fc9aefc0c3b 100644 --- a/readthedocs/oauth/notifications.py +++ b/readthedocs/oauth/notifications.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import division, print_function, unicode_literals -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from messages_extends.constants import ERROR_PERSISTENT diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 37aa8d97e6d..0ce2f55a21c 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -7,7 +7,7 @@ import re from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from requests.exceptions import RequestException from allauth.socialaccount.providers.bitbucket_oauth2.views import ( BitbucketOAuth2Adapter) diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 6106d5cab7b..f9a03c4ff76 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -7,7 +7,7 @@ import re from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from requests.exceptions import RequestException from allauth.socialaccount.models import SocialToken from allauth.socialaccount.providers.github.views import GitHubOAuth2Adapter diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 360a4a120ee..b9562617adf 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -9,7 +9,7 @@ from allauth.socialaccount.providers.gitlab.views import GitLabOAuth2Adapter from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from requests.exceptions import RequestException from readthedocs.builds.utils import get_gitlab_username_repo diff --git a/readthedocs/profiles/views.py b/readthedocs/profiles/views.py index bf11b7d93c8..d288f4767bf 100644 --- a/readthedocs/profiles/views.py +++ b/readthedocs/profiles/views.py @@ -12,7 +12,7 @@ from django.contrib.auth import logout from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404, redirect, render from django.utils.translation import ugettext_lazy as _ diff --git a/readthedocs/projects/models.py b/readthedocs/projects/models.py index 21e7ac10cf5..46e28d0a0cb 100644 --- a/readthedocs/projects/models.py +++ b/readthedocs/projects/models.py @@ -11,7 +11,7 @@ from django.conf import settings from django.contrib.auth.models import User -from django.core.urlresolvers import NoReverseMatch, reverse +from django.urls import NoReverseMatch, reverse from django.db import models from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index b36df403baf..be3e56e3a18 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -26,7 +26,7 @@ from builtins import str from celery.exceptions import SoftTimeLimitExceeded from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db.models import Q from django.utils import timezone from django.utils.translation import ugettext_lazy as _ diff --git a/readthedocs/projects/views/base.py b/readthedocs/projects/views/base.py index c7323f9512b..2bdb17fdfb2 100644 --- a/readthedocs/projects/views/base.py +++ b/readthedocs/projects/views/base.py @@ -8,7 +8,7 @@ from datetime import timedelta from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from django.utils import timezone diff --git a/readthedocs/projects/views/private.py b/readthedocs/projects/views/private.py index 73fa1be04b1..06791847dc0 100644 --- a/readthedocs/projects/views/private.py +++ b/readthedocs/projects/views/private.py @@ -16,7 +16,7 @@ from django.contrib import messages from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import ( Http404, HttpResponseBadRequest, diff --git a/readthedocs/projects/views/public.py b/readthedocs/projects/views/public.py index 62f3ca3d436..90f5ef978b1 100644 --- a/readthedocs/projects/views/public.py +++ b/readthedocs/projects/views/public.py @@ -16,7 +16,7 @@ from django.contrib import messages from django.contrib.auth.models import User from django.core.cache import cache -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import Http404, HttpResponse, HttpResponseRedirect from django.shortcuts import get_object_or_404, render from django.views.decorators.cache import never_cache diff --git a/readthedocs/restapi/views/task_views.py b/readthedocs/restapi/views/task_views.py index 694fd7787a8..475fb17bda6 100644 --- a/readthedocs/restapi/views/task_views.py +++ b/readthedocs/restapi/views/task_views.py @@ -9,7 +9,7 @@ import logging -from django.core.urlresolvers import reverse +from django.urls import reverse from redis import ConnectionError from rest_framework import decorators, permissions from rest_framework.renderers import JSONRenderer diff --git a/readthedocs/rtd_tests/tests/projects/test_admin_actions.py b/readthedocs/rtd_tests/tests/projects/test_admin_actions.py index 7bda4501bf7..54111314cee 100644 --- a/readthedocs/rtd_tests/tests/projects/test_admin_actions.py +++ b/readthedocs/rtd_tests/tests/projects/test_admin_actions.py @@ -2,7 +2,7 @@ import django_dynamic_fixture as fixture from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME from django.contrib.auth.models import User -from django.core import urlresolvers +from django import urls from django.test import TestCase from readthedocs.core.models import UserProfile @@ -33,7 +33,7 @@ def test_project_ban_owner(self): 'index': 0, } resp = self.client.post( - urlresolvers.reverse('admin:projects_project_changelist'), + urls.reverse('admin:projects_project_changelist'), action_data ) self.assertTrue(self.project.users.filter(profile__banned=True).exists()) @@ -51,7 +51,7 @@ def test_project_ban_multiple_owners(self): 'index': 0, } resp = self.client.post( - urlresolvers.reverse('admin:projects_project_changelist'), + urls.reverse('admin:projects_project_changelist'), action_data ) self.assertFalse(self.project.users.filter(profile__banned=True).exists()) @@ -68,7 +68,7 @@ def test_project_delete(self, broadcast): 'post': 'yes', } resp = self.client.post( - urlresolvers.reverse('admin:projects_project_changelist'), + urls.reverse('admin:projects_project_changelist'), action_data ) self.assertFalse(Project.objects.filter(pk=self.project.pk).exists()) diff --git a/readthedocs/rtd_tests/tests/test_api.py b/readthedocs/rtd_tests/tests/test_api.py index 1bf30d193cb..a477922f58e 100644 --- a/readthedocs/rtd_tests/tests/test_api.py +++ b/readthedocs/rtd_tests/tests/test_api.py @@ -14,7 +14,7 @@ from allauth.socialaccount.models import SocialAccount from builtins import str from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import QueryDict from django.test import TestCase from django.utils import six diff --git a/readthedocs/rtd_tests/tests/test_gold.py b/readthedocs/rtd_tests/tests/test_gold.py index a4fd7380a1c..63f50f8d696 100644 --- a/readthedocs/rtd_tests/tests/test_gold.py +++ b/readthedocs/rtd_tests/tests/test_gold.py @@ -1,5 +1,6 @@ from __future__ import absolute_import -from django.core.urlresolvers import reverse + +from django.urls import reverse from django.test import TestCase from django_dynamic_fixture import get, fixture diff --git a/readthedocs/rtd_tests/tests/test_middleware.py b/readthedocs/rtd_tests/tests/test_middleware.py index 57470855242..8cf5e5e96ff 100644 --- a/readthedocs/rtd_tests/tests/test_middleware.py +++ b/readthedocs/rtd_tests/tests/test_middleware.py @@ -5,7 +5,7 @@ from django.http import Http404 from django.conf import settings from django.core.cache import cache -from django.core.urlresolvers import get_urlconf, set_urlconf +from django.urls.base import get_urlconf, set_urlconf from django.test import TestCase from django.test.client import RequestFactory from django.test.utils import override_settings diff --git a/readthedocs/rtd_tests/tests/test_privacy_urls.py b/readthedocs/rtd_tests/tests/test_privacy_urls.py index c1518af1ecb..277c566e22e 100644 --- a/readthedocs/rtd_tests/tests/test_privacy_urls.py +++ b/readthedocs/rtd_tests/tests/test_privacy_urls.py @@ -6,7 +6,7 @@ from builtins import object from django.contrib.admindocs.views import extract_views_from_urlpatterns from django.test import TestCase -from django.core.urlresolvers import reverse +from django.urls import reverse from django_dynamic_fixture import get import mock from taggit.models import Tag diff --git a/readthedocs/rtd_tests/tests/test_profile_views.py b/readthedocs/rtd_tests/tests/test_profile_views.py index ba7a2989b24..9e3a75a449e 100644 --- a/readthedocs/rtd_tests/tests/test_profile_views.py +++ b/readthedocs/rtd_tests/tests/test_profile_views.py @@ -1,7 +1,7 @@ from __future__ import division, print_function, unicode_literals from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase from django_dynamic_fixture import get diff --git a/readthedocs/rtd_tests/tests/test_project_symlinks.py b/readthedocs/rtd_tests/tests/test_project_symlinks.py index 73037c10425..307e4e4516f 100644 --- a/readthedocs/rtd_tests/tests/test_project_symlinks.py +++ b/readthedocs/rtd_tests/tests/test_project_symlinks.py @@ -8,7 +8,7 @@ import mock from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase, override_settings from django_dynamic_fixture import get diff --git a/readthedocs/rtd_tests/tests/test_project_views.py b/readthedocs/rtd_tests/tests/test_project_views.py index bf18c2e8223..c6e4a93f884 100644 --- a/readthedocs/rtd_tests/tests/test_project_views.py +++ b/readthedocs/rtd_tests/tests/test_project_views.py @@ -6,7 +6,7 @@ from django.test import TestCase from django.contrib.auth.models import User from django.contrib.messages import constants as message_const -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http.response import HttpResponseRedirect from django.views.generic.base import ContextMixin from django.utils import timezone diff --git a/readthedocs/rtd_tests/tests/test_sync_versions.py b/readthedocs/rtd_tests/tests/test_sync_versions.py index 9b7516015e5..533ad424729 100644 --- a/readthedocs/rtd_tests/tests/test_sync_versions.py +++ b/readthedocs/rtd_tests/tests/test_sync_versions.py @@ -1,12 +1,16 @@ # -*- coding: utf-8 -*- from __future__ import ( - absolute_import, division, print_function, unicode_literals) + absolute_import, + division, + print_function, + unicode_literals +) import json from django.test import TestCase -from django.core.urlresolvers import reverse +from django.urls import reverse import pytest from readthedocs.builds.constants import BRANCH, STABLE, TAG diff --git a/readthedocs/rtd_tests/tests/test_urls.py b/readthedocs/rtd_tests/tests/test_urls.py index 27a14a27b99..d70e0be8b71 100644 --- a/readthedocs/rtd_tests/tests/test_urls.py +++ b/readthedocs/rtd_tests/tests/test_urls.py @@ -1,6 +1,6 @@ from __future__ import absolute_import -from django.core.urlresolvers import reverse -from django.core.urlresolvers import NoReverseMatch + +from django.urls import reverse, NoReverseMatch from django.test import TestCase diff --git a/readthedocs/rtd_tests/tests/test_views.py b/readthedocs/rtd_tests/tests/test_views.py index cfe90e1dc4c..e68989e1483 100644 --- a/readthedocs/rtd_tests/tests/test_views.py +++ b/readthedocs/rtd_tests/tests/test_views.py @@ -8,7 +8,7 @@ import mock from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase from django.utils.six.moves.urllib.parse import urlsplit from django_dynamic_fixture import get, new diff --git a/readthedocs/search/tests/test_views.py b/readthedocs/search/tests/test_views.py index 0bd49b27a24..07444a731fb 100644 --- a/readthedocs/search/tests/test_views.py +++ b/readthedocs/search/tests/test_views.py @@ -2,7 +2,7 @@ import pytest from django.core.management import call_command -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from django_dynamic_fixture import G from pyquery import PyQuery as pq