diff --git a/docs/advanced_topics/images/image_serve_view.rst b/docs/advanced_topics/images/image_serve_view.rst index 1f8ce38272..f591110877 100644 --- a/docs/advanced_topics/images/image_serve_view.rst +++ b/docs/advanced_topics/images/image_serve_view.rst @@ -59,7 +59,7 @@ block the initial response while rendering like the ``{% image %}`` tag does. .. code-block:: python - from django.core.urlresolvers import reverse + from django.urls import reverse from wagtail.wagtailimages.views.serve import generate_signature def generate_image_url(image, filter_spec): diff --git a/docs/reference/hooks.rst b/docs/reference/hooks.rst index 69dd3c6ba7..7431ad2747 100644 --- a/docs/reference/hooks.rst +++ b/docs/reference/hooks.rst @@ -137,7 +137,7 @@ Hooks for building new areas of the admin interface (alongside pages, images, do .. code-block:: python - from django.core.urlresolvers import reverse + from django.urls import reverse from wagtail.wagtailcore import hooks from wagtail.wagtailadmin.menu import MenuItem @@ -214,7 +214,7 @@ Hooks for building new areas of the admin interface (alongside pages, images, do .. code-block:: python - from django.core.urlresolvers import reverse + from django.urls import reverse from wagtail.wagtailcore import hooks from wagtail.wagtailadmin.search import SearchArea @@ -626,7 +626,7 @@ Page explorer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Add buttons to the "More" dropdown menu for a page in the page explorer. This works similarly to the ``register_page_listing_buttons`` hook but is useful for lesser-used custom actions that are better suited for the dropdown. - + This example will add a simple button to the dropdown menu: .. code-block:: python diff --git a/wagtail/api/v2/endpoints.py b/wagtail/api/v2/endpoints.py index 2ed376bae2..a9bffca0a9 100644 --- a/wagtail/api/v2/endpoints.py +++ b/wagtail/api/v2/endpoints.py @@ -4,8 +4,8 @@ from collections import OrderedDict from django.conf.urls import url from django.core.exceptions import FieldDoesNotExist -from django.core.urlresolvers import reverse from django.http import Http404 +from django.urls import reverse from modelcluster.fields import ParentalKey from rest_framework import status from rest_framework.renderers import BrowsableAPIRenderer, JSONRenderer diff --git a/wagtail/api/v2/serializers.py b/wagtail/api/v2/serializers.py index 7371d419f8..fbb6ca2eac 100644 --- a/wagtail/api/v2/serializers.py +++ b/wagtail/api/v2/serializers.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals from collections import OrderedDict -from django.core.urlresolvers import NoReverseMatch +from django.urls.exceptions import NoReverseMatch from modelcluster.models import get_all_child_relations from rest_framework import relations, serializers from rest_framework.fields import Field, SkipField diff --git a/wagtail/api/v2/signal_handlers.py b/wagtail/api/v2/signal_handlers.py index ce565e5479..62cce747e0 100644 --- a/wagtail/api/v2/signal_handlers.py +++ b/wagtail/api/v2/signal_handlers.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.db.models.signals import post_delete, post_save +from django.urls import reverse from wagtail.contrib.wagtailfrontendcache.utils import purge_url_from_cache from wagtail.wagtailcore.models import get_page_models diff --git a/wagtail/api/v2/tests/test_documents.py b/wagtail/api/v2/tests/test_documents.py index 6aaa76df80..2d0e062fd5 100644 --- a/wagtail/api/v2/tests/test_documents.py +++ b/wagtail/api/v2/tests/test_documents.py @@ -3,9 +3,9 @@ from __future__ import absolute_import, unicode_literals import json import mock -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from wagtail.api.v2 import signal_handlers from wagtail.wagtaildocs.models import get_document_model diff --git a/wagtail/api/v2/tests/test_images.py b/wagtail/api/v2/tests/test_images.py index c12986401b..3ef2b994ad 100644 --- a/wagtail/api/v2/tests/test_images.py +++ b/wagtail/api/v2/tests/test_images.py @@ -3,9 +3,9 @@ from __future__ import absolute_import, unicode_literals import json import mock -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from wagtail.api.v2 import signal_handlers from wagtail.wagtailimages import get_image_model diff --git a/wagtail/api/v2/tests/test_pages.py b/wagtail/api/v2/tests/test_pages.py index ef4f9fdcaa..a65b6083a7 100644 --- a/wagtail/api/v2/tests/test_pages.py +++ b/wagtail/api/v2/tests/test_pages.py @@ -4,9 +4,9 @@ import collections import json import mock -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from wagtail.api.v2 import signal_handlers from wagtail.tests.demosite import models diff --git a/wagtail/contrib/modeladmin/helpers/url.py b/wagtail/contrib/modeladmin/helpers/url.py index 42f51bf25e..95097faeef 100644 --- a/wagtail/contrib/modeladmin/helpers/url.py +++ b/wagtail/contrib/modeladmin/helpers/url.py @@ -1,6 +1,6 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.functional import cached_property from django.utils.http import urlquote diff --git a/wagtail/contrib/modeladmin/options.py b/wagtail/contrib/modeladmin/options.py index 3fe5029343..5a7e285e9b 100644 --- a/wagtail/contrib/modeladmin/options.py +++ b/wagtail/contrib/modeladmin/options.py @@ -13,7 +13,7 @@ from .helpers import ( AdminURLHelper, ButtonHelper, PageAdminURLHelper, PageButtonHelper, PagePermissionHelper, PermissionHelper) from .menus import GroupMenuItem, ModelAdminMenuItem, SubMenu -from .mixins import ThumbnailMixin # NOQA +from .mixins import ThumbnailMixin # NOQA from .views import ChooseParentView, CreateView, DeleteView, EditView, IndexView, InspectView diff --git a/wagtail/contrib/settings/forms.py b/wagtail/contrib/settings/forms.py index 0eaa2425ea..3d0d964129 100644 --- a/wagtail/contrib/settings/forms.py +++ b/wagtail/contrib/settings/forms.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals from django import forms -from django.core.urlresolvers import reverse +from django.urls import reverse from wagtail.wagtailcore.models import Site diff --git a/wagtail/contrib/settings/registry.py b/wagtail/contrib/settings/registry.py index 343d2767b9..fcda1342f9 100644 --- a/wagtail/contrib/settings/registry.py +++ b/wagtail/contrib/settings/registry.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.apps import apps from django.contrib.auth.models import Permission -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.text import capfirst from wagtail.wagtailadmin.menu import MenuItem diff --git a/wagtail/contrib/settings/tests/test_admin.py b/wagtail/contrib/settings/tests/test_admin.py index 00d9ad04a1..eaa479e1fa 100644 --- a/wagtail/contrib/settings/tests/test_admin.py +++ b/wagtail/contrib/settings/tests/test_admin.py @@ -2,8 +2,8 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth import get_user_model from django.contrib.auth.models import Permission -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse from django.utils.text import capfirst from wagtail.contrib.settings.registry import SettingMenuItem diff --git a/wagtail/contrib/settings/tests/test_register.py b/wagtail/contrib/settings/tests/test_register.py index 761f9b14d8..4242a9c2ed 100644 --- a/wagtail/contrib/settings/tests/test_register.py +++ b/wagtail/contrib/settings/tests/test_register.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.contrib.settings.registry import Registry from wagtail.tests.testapp.models import NotYetRegisteredSetting diff --git a/wagtail/contrib/wagtailroutablepage/models.py b/wagtail/contrib/wagtailroutablepage/models.py index e9b9c3a226..c608169c3d 100644 --- a/wagtail/contrib/wagtailroutablepage/models.py +++ b/wagtail/contrib/wagtailroutablepage/models.py @@ -1,9 +1,9 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import url -from django.core.urlresolvers import RegexURLResolver from django.http import Http404 from django.template.response import TemplateResponse +from django.urls.resolvers import RegexURLResolver from wagtail.wagtailcore.models import Page from wagtail.wagtailcore.url_routing import RouteResult diff --git a/wagtail/contrib/wagtailroutablepage/tests.py b/wagtail/contrib/wagtailroutablepage/tests.py index 44bc095441..2f3495993f 100644 --- a/wagtail/contrib/wagtailroutablepage/tests.py +++ b/wagtail/contrib/wagtailroutablepage/tests.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals import mock -from django.core.urlresolvers import NoReverseMatch from django.test import RequestFactory, TestCase +from django.urls.exceptions import NoReverseMatch from wagtail.contrib.wagtailroutablepage.templatetags.wagtailroutablepage_tags import \ routablepageurl diff --git a/wagtail/contrib/wagtailsearchpromotions/tests.py b/wagtail/contrib/wagtailsearchpromotions/tests.py index 34e5f5b84c..ca8ef8c768 100644 --- a/wagtail/contrib/wagtailsearchpromotions/tests.py +++ b/wagtail/contrib/wagtailsearchpromotions/tests.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.contrib.wagtailsearchpromotions.models import SearchPromotion from wagtail.contrib.wagtailsearchpromotions.templatetags.wagtailsearchpromotions_tags import \ diff --git a/wagtail/contrib/wagtailsearchpromotions/views.py b/wagtail/contrib/wagtailsearchpromotions/views.py index c167380bc6..1aced116c4 100644 --- a/wagtail/contrib/wagtailsearchpromotions/views.py +++ b/wagtail/contrib/wagtailsearchpromotions/views.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers diff --git a/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py b/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py index 2950a38ad7..3710734f54 100644 --- a/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py +++ b/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import include, url from django.contrib.auth.models import Permission -from django.core import urlresolvers +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from wagtail.contrib.wagtailsearchpromotions import admin_urls @@ -30,7 +30,7 @@ class SearchPicksMenuItem(MenuItem): def register_search_picks_menu_item(): return SearchPicksMenuItem( _('Promoted search results'), - urlresolvers.reverse('wagtailsearchpromotions:index'), + reverse('wagtailsearchpromotions:index'), classnames='icon icon-pick', order=900 ) diff --git a/wagtail/contrib/wagtailstyleguide/tests.py b/wagtail/contrib/wagtailstyleguide/tests.py index 9d0accc647..6e2cc8e606 100644 --- a/wagtail/contrib/wagtailstyleguide/tests.py +++ b/wagtail/contrib/wagtailstyleguide/tests.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils diff --git a/wagtail/contrib/wagtailstyleguide/views.py b/wagtail/contrib/wagtailstyleguide/views.py index e3dc224494..a329970a43 100644 --- a/wagtail/contrib/wagtailstyleguide/views.py +++ b/wagtail/contrib/wagtailstyleguide/views.py @@ -4,6 +4,7 @@ from django import forms from django.core.paginator import Paginator from django.shortcuts import render from django.utils.translation import ugettext as _ + from wagtail.wagtailadmin import messages from wagtail.wagtailadmin.forms import SearchForm from wagtail.wagtailadmin.rich_text import get_rich_text_editor_widget diff --git a/wagtail/contrib/wagtailstyleguide/wagtail_hooks.py b/wagtail/contrib/wagtailstyleguide/wagtail_hooks.py index efbee30b8d..ad37ec42e9 100644 --- a/wagtail/contrib/wagtailstyleguide/wagtail_hooks.py +++ b/wagtail/contrib/wagtailstyleguide/wagtail_hooks.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import url -from django.core import urlresolvers +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.menu import MenuItem @@ -21,7 +21,7 @@ def register_admin_urls(): def register_styleguide_menu_item(): return MenuItem( _('Styleguide'), - urlresolvers.reverse('wagtailstyleguide'), + reverse('wagtailstyleguide'), classnames='icon icon-image', order=1000 ) diff --git a/wagtail/tests/urls.py b/wagtail/tests/urls.py index 18a24bbe3e..f8079ef665 100644 --- a/wagtail/tests/urls.py +++ b/wagtail/tests/urls.py @@ -16,7 +16,6 @@ from wagtail.wagtailimages.api.v2.endpoints import ImagesAPIEndpoint from wagtail.wagtailimages.tests import urls as wagtailimages_test_urls from wagtail.wagtailsearch import urls as wagtailsearch_urls - api_router = WagtailAPIRouter('wagtailapi_v2') api_router.register_endpoint('pages', PagesAPIEndpoint) api_router.register_endpoint('images', ImagesAPIEndpoint) diff --git a/wagtail/tests/utils.py b/wagtail/tests/utils.py index ce941cc088..c31614f53d 100644 --- a/wagtail/tests/utils.py +++ b/wagtail/tests/utils.py @@ -5,9 +5,9 @@ import warnings from contextlib import contextmanager from django.contrib.auth import get_user_model -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.testcases import assert_and_parse_html +from django.urls import reverse from django.utils import six from django.utils.text import slugify diff --git a/wagtail/utils/pagination.py b/wagtail/utils/pagination.py index 061396e59d..94b61582d8 100644 --- a/wagtail/utils/pagination.py +++ b/wagtail/utils/pagination.py @@ -4,7 +4,6 @@ from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from django.utils.http import urlencode from django.utils.six.moves.urllib.parse import parse_qs - DEFAULT_PAGE_KEY = 'p' diff --git a/wagtail/utils/urlpatterns.py b/wagtail/utils/urlpatterns.py index 10271df640..8a80da50c3 100644 --- a/wagtail/utils/urlpatterns.py +++ b/wagtail/utils/urlpatterns.py @@ -1,4 +1,5 @@ from __future__ import absolute_import, unicode_literals + from functools import update_wrapper diff --git a/wagtail/wagtailadmin/decorators.py b/wagtail/wagtailadmin/decorators.py index 7495055536..482d7bee0d 100644 --- a/wagtail/wagtailadmin/decorators.py +++ b/wagtail/wagtailadmin/decorators.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth.views import redirect_to_login as auth_redirect_to_login from django.core.exceptions import PermissionDenied -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.translation import activate as activate_lang from django.utils.translation import ugettext as _ diff --git a/wagtail/wagtailadmin/forms.py b/wagtail/wagtailadmin/forms.py index 2bdd9b56db..e6657a6ba9 100644 --- a/wagtail/wagtailadmin/forms.py +++ b/wagtail/wagtailadmin/forms.py @@ -20,10 +20,8 @@ from taggit.managers import TaggableManager from wagtail.wagtailadmin import widgets from wagtail.wagtailcore.models import ( - BaseViewRestriction, - Collection, CollectionViewRestriction, GroupCollectionPermission, - Page, PageViewRestriction -) + BaseViewRestriction, Collection, CollectionViewRestriction, GroupCollectionPermission, Page, + PageViewRestriction) class URLOrAbsolutePathValidator(validators.URLValidator): diff --git a/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py b/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py index 449a21a3ad..e05a882fd7 100644 --- a/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py +++ b/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py @@ -17,10 +17,7 @@ from wagtail.wagtailadmin.navigation import get_explorable_root_page from wagtail.wagtailadmin.search import admin_search_areas from wagtail.wagtailcore import hooks from wagtail.wagtailcore.models import ( - CollectionViewRestriction, - Page, PageViewRestriction, - UserPagePermissionsProxy -) + CollectionViewRestriction, Page, PageViewRestriction, UserPagePermissionsProxy) from wagtail.wagtailcore.utils import cautious_slugify as _cautious_slugify from wagtail.wagtailcore.utils import camelcase_to_underscore, escape_script diff --git a/wagtail/wagtailadmin/tests/api/test_documents.py b/wagtail/wagtailadmin/tests/api/test_documents.py index faafdf0ec1..74f8bcdef4 100644 --- a/wagtail/wagtailadmin/tests/api/test_documents.py +++ b/wagtail/wagtailadmin/tests/api/test_documents.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals import json -from django.core.urlresolvers import reverse +from django.urls import reverse from wagtail.api.v2.tests.test_documents import TestDocumentDetail, TestDocumentListing from wagtail.wagtaildocs.models import Document diff --git a/wagtail/wagtailadmin/tests/api/test_images.py b/wagtail/wagtailadmin/tests/api/test_images.py index 1ca27838b7..43f7003214 100644 --- a/wagtail/wagtailadmin/tests/api/test_images.py +++ b/wagtail/wagtailadmin/tests/api/test_images.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals import json -from django.core.urlresolvers import reverse +from django.urls import reverse from wagtail.api.v2.tests.test_images import TestImageDetail, TestImageListing from wagtail.wagtailimages import get_image_model diff --git a/wagtail/wagtailadmin/tests/api/test_pages.py b/wagtail/wagtailadmin/tests/api/test_pages.py index 3801fd7a18..9bdd448d5a 100644 --- a/wagtail/wagtailadmin/tests/api/test_pages.py +++ b/wagtail/wagtailadmin/tests/api/test_pages.py @@ -4,7 +4,7 @@ import collections import datetime import json -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils import timezone from wagtail.api.v2.tests.test_pages import TestPageDetail, TestPageListing diff --git a/wagtail/wagtailadmin/tests/test_account_management.py b/wagtail/wagtailadmin/tests/test_account_management.py index a05734dea4..7c0585b2b3 100644 --- a/wagtail/wagtailadmin/tests/test_account_management.py +++ b/wagtail/wagtailadmin/tests/test_account_management.py @@ -4,8 +4,8 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.contrib.auth.tokens import PasswordResetTokenGenerator from django.core import mail -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailadmin.utils import ( diff --git a/wagtail/wagtailadmin/tests/test_admin_search.py b/wagtail/wagtailadmin/tests/test_admin_search.py index f0427b46eb..f4207b3d0a 100644 --- a/wagtail/wagtailadmin/tests/test_admin_search.py +++ b/wagtail/wagtailadmin/tests/test_admin_search.py @@ -4,9 +4,9 @@ Tests for the search box in the admin side menu, and the custom search hooks. from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import Permission -from django.core.urlresolvers import reverse from django.template import Context, Template from django.test import RequestFactory, TestCase +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailadmin.utils import user_has_any_page_permission diff --git a/wagtail/wagtailadmin/tests/test_buttons_hooks.py b/wagtail/wagtailadmin/tests/test_buttons_hooks.py index 57af6f9334..a7771dbc19 100644 --- a/wagtail/wagtailadmin/tests/test_buttons_hooks.py +++ b/wagtail/wagtailadmin/tests/test_buttons_hooks.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailadmin import widgets as wagtailadmin_widgets diff --git a/wagtail/wagtailadmin/tests/test_collections_views.py b/wagtail/wagtailadmin/tests/test_collections_views.py index 14242cf0b7..5ef531024f 100644 --- a/wagtail/wagtailadmin/tests/test_collections_views.py +++ b/wagtail/wagtailadmin/tests/test_collections_views.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailcore.models import Collection diff --git a/wagtail/wagtailadmin/tests/test_messages.py b/wagtail/wagtailadmin/tests/test_messages.py index e508a96975..5a0df82839 100644 --- a/wagtail/wagtailadmin/tests/test_messages.py +++ b/wagtail/wagtailadmin/tests/test_messages.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals from django.contrib import messages -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse class TestPageExplorer(TestCase): diff --git a/wagtail/wagtailadmin/tests/test_page_chooser.py b/wagtail/wagtailadmin/tests/test_page_chooser.py index d45dd1d022..d4d9b2e385 100644 --- a/wagtail/wagtailadmin/tests/test_page_chooser.py +++ b/wagtail/wagtailadmin/tests/test_page_chooser.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth import get_user_model -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from django.utils.http import urlencode from wagtail.tests.testapp.models import EventIndex, EventPage, SimplePage, SingleEventPage diff --git a/wagtail/wagtailadmin/tests/test_pages_views.py b/wagtail/wagtailadmin/tests/test_pages_views.py index 7e811027ef..cb0a7fe209 100644 --- a/wagtail/wagtailadmin/tests/test_pages_views.py +++ b/wagtail/wagtailadmin/tests/test_pages_views.py @@ -12,18 +12,19 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.messages import constants as message_constants from django.core import mail, paginator from django.core.files.base import ContentFile -from django.core.urlresolvers import reverse from django.db.models.signals import post_delete, pre_delete from django.http import HttpRequest, HttpResponse from django.test import TestCase, modify_settings +from django.urls import reverse from django.utils import formats, timezone from django.utils.dateparse import parse_date - from freezegun import freeze_time + from wagtail.tests.testapp.models import ( EVENT_AUDIENCE_CHOICES, Advert, AdvertPlacement, BusinessChild, BusinessIndex, BusinessSubIndex, - DefaultStreamPage, EventCategory, EventPage, EventPageCarouselItem, FilePage, ManyToManyBlogPage, - SimplePage, SingleEventPage, SingletonPage, StandardChild, StandardIndex, TaggedPage) + DefaultStreamPage, EventCategory, EventPage, EventPageCarouselItem, FilePage, + ManyToManyBlogPage, SimplePage, SingleEventPage, SingletonPage, StandardChild, StandardIndex, + TaggedPage) from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailadmin.views.home import RecentEditsPanel from wagtail.wagtailadmin.views.pages import PreviewOnEdit diff --git a/wagtail/wagtailadmin/tests/test_password_reset.py b/wagtail/wagtailadmin/tests/test_password_reset.py index 92b49fb094..587bcaaeb9 100644 --- a/wagtail/wagtailadmin/tests/test_password_reset.py +++ b/wagtail/wagtailadmin/tests/test_password_reset.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals from django.core import mail -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils @@ -13,11 +13,11 @@ class TestUserPasswordReset(TestCase, WagtailTestUtils): # need to clear urlresolver caches before/after tests, because we override ROOT_URLCONF # in some tests here def setUp(self): - from django.core.urlresolvers import clear_url_caches + from django.urls import clear_url_caches clear_url_caches() def tearDown(self): - from django.core.urlresolvers import clear_url_caches + from django.urls import clear_url_caches clear_url_caches() def test_login_has_password_reset_option(self): diff --git a/wagtail/wagtailadmin/tests/test_privacy.py b/wagtail/wagtailadmin/tests/test_privacy.py index a59fc79e90..b24ee1b06b 100644 --- a/wagtail/wagtailadmin/tests/test_privacy.py +++ b/wagtail/wagtailadmin/tests/test_privacy.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import Group -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.tests.testapp.models import SimplePage from wagtail.tests.utils import WagtailTestUtils diff --git a/wagtail/wagtailadmin/tests/test_rich_text.py b/wagtail/wagtailadmin/tests/test_rich_text.py index 12aed884d7..3ca6d1a7d2 100644 --- a/wagtail/wagtailadmin/tests/test_rich_text.py +++ b/wagtail/wagtailadmin/tests/test_rich_text.py @@ -1,9 +1,9 @@ from __future__ import absolute_import, unicode_literals from django.conf import settings -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from wagtail.tests.testapp.models import SingleEventPage from wagtail.tests.testapp.rich_text import CustomRichTextArea diff --git a/wagtail/wagtailadmin/tests/test_userbar.py b/wagtail/wagtailadmin/tests/test_userbar.py index ee47c590c6..c826984653 100644 --- a/wagtail/wagtailadmin/tests/test_userbar.py +++ b/wagtail/wagtailadmin/tests/test_userbar.py @@ -2,10 +2,10 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth import get_user_model from django.contrib.auth.models import AnonymousUser -from django.core.urlresolvers import reverse from django.template import Context, Template from django.test import TestCase from django.test.client import RequestFactory +from django.urls import reverse from wagtail.tests.testapp.models import BusinessChild, BusinessIndex from wagtail.tests.utils import WagtailTestUtils diff --git a/wagtail/wagtailadmin/tests/tests.py b/wagtail/wagtailadmin/tests/tests.py index 1afeccdf71..7b2e17c239 100644 --- a/wagtail/wagtailadmin/tests/tests.py +++ b/wagtail/wagtailadmin/tests/tests.py @@ -7,8 +7,8 @@ import json from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.core import mail -from django.core.urlresolvers import reverse, reverse_lazy from django.test import TestCase, override_settings +from django.urls import reverse, reverse_lazy from django.utils.translation import ugettext_lazy as _ from taggit.models import Tag diff --git a/wagtail/wagtailadmin/views/generic.py b/wagtail/wagtailadmin/views/generic.py index b75cd90fbd..7bf07090ad 100644 --- a/wagtail/wagtailadmin/views/generic.py +++ b/wagtail/wagtailadmin/views/generic.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.shortcuts import redirect +from django.urls import reverse from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy from django.views.generic.base import TemplateResponseMixin diff --git a/wagtail/wagtailadmin/views/pages.py b/wagtail/wagtailadmin/views/pages.py index f7e4e07cf5..f1cf94a0e5 100644 --- a/wagtail/wagtailadmin/views/pages.py +++ b/wagtail/wagtailadmin/views/pages.py @@ -1,14 +1,15 @@ from __future__ import absolute_import, unicode_literals + from time import time from django.contrib.contenttypes.models import ContentType from django.core.exceptions import PermissionDenied -from django.core.urlresolvers import reverse from django.db.models import Count from django.http import Http404, HttpResponse, JsonResponse from django.http.request import QueryDict from django.shortcuts import get_object_or_404, redirect, render from django.template.loader import render_to_string +from django.urls import reverse from django.utils import timezone from django.utils.http import is_safe_url, urlquote from django.utils.safestring import mark_safe diff --git a/wagtail/wagtailadmin/wagtail_hooks.py b/wagtail/wagtailadmin/wagtail_hooks.py index 2c05b9dca7..82b16d3dc5 100644 --- a/wagtail/wagtailadmin/wagtail_hooks.py +++ b/wagtail/wagtailadmin/wagtail_hooks.py @@ -1,14 +1,13 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import Permission -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.menu import MenuItem, SubmenuMenuItem, settings_menu from wagtail.wagtailadmin.navigation import get_explorable_root_page from wagtail.wagtailadmin.rich_text import ( - HalloFormatPlugin, HalloHeadingPlugin, HalloListPlugin, HalloPlugin -) + HalloFormatPlugin, HalloHeadingPlugin, HalloListPlugin, HalloPlugin) from wagtail.wagtailadmin.search import SearchArea from wagtail.wagtailadmin.utils import user_has_any_page_permission from wagtail.wagtailadmin.viewsets import viewsets diff --git a/wagtail/wagtailadmin/widgets.py b/wagtail/wagtailadmin/widgets.py index 90e1ed2153..96694704ea 100644 --- a/wagtail/wagtailadmin/widgets.py +++ b/wagtail/wagtailadmin/widgets.py @@ -5,10 +5,10 @@ import json from functools import total_ordering from django.conf import settings -from django.core.urlresolvers import reverse from django.forms import widgets from django.forms.utils import flatatt from django.template.loader import render_to_string +from django.urls import reverse from django.utils.formats import get_format from django.utils.functional import cached_property from django.utils.html import format_html @@ -20,7 +20,6 @@ from wagtail.wagtailadmin.datetimepicker import to_datetimepicker_format from wagtail.wagtailcore import hooks from wagtail.wagtailcore.models import Page - DEFAULT_DATE_FORMAT = '%Y-%m-%d' DEFAULT_DATETIME_FORMAT = '%Y-%m-%d %H:%M' diff --git a/wagtail/wagtailcore/blocks/utils.py b/wagtail/wagtailcore/blocks/utils.py index e48bc9fee9..80be6bdbab 100644 --- a/wagtail/wagtailcore/blocks/utils.py +++ b/wagtail/wagtailcore/blocks/utils.py @@ -2,6 +2,7 @@ from __future__ import absolute_import, unicode_literals import re + # helpers for Javascript expression formatting diff --git a/wagtail/wagtailcore/middleware.py b/wagtail/wagtailcore/middleware.py index 934415f620..23a45a443a 100644 --- a/wagtail/wagtailcore/middleware.py +++ b/wagtail/wagtailcore/middleware.py @@ -1,6 +1,7 @@ from __future__ import absolute_import, unicode_literals from django.utils.deprecation import MiddlewareMixin + from wagtail.wagtailcore.models import Site diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py index ecdd8af9dc..7115f92425 100644 --- a/wagtail/wagtailcore/models.py +++ b/wagtail/wagtailcore/models.py @@ -12,12 +12,12 @@ from django.core.cache import cache from django.core.exceptions import ValidationError from django.core.handlers.base import BaseHandler from django.core.handlers.wsgi import WSGIRequest -from django.core.urlresolvers import reverse from django.db import connection, models, transaction from django.db.models import Q, Value from django.db.models.functions import Concat, Substr from django.http import Http404 from django.template.response import TemplateResponse +from django.urls import reverse # Must be imported from Django so we get the new implementation of with_metaclass from django.utils import six, timezone from django.utils.functional import cached_property diff --git a/wagtail/wagtailcore/sites.py b/wagtail/wagtailcore/sites.py index 95ba8b3e0c..a26fcb8e11 100644 --- a/wagtail/wagtailcore/sites.py +++ b/wagtail/wagtailcore/sites.py @@ -3,7 +3,6 @@ from __future__ import absolute_import, unicode_literals from django.apps import apps from django.db.models import Case, IntegerField, Q, When - MATCH_HOSTNAME_PORT = 0 MATCH_HOSTNAME_DEFAULT = 1 MATCH_DEFAULT = 2 diff --git a/wagtail/wagtailcore/tests/test_page_model.py b/wagtail/wagtailcore/tests/test_page_model.py index 3f6dd9616f..4dbcb7260a 100644 --- a/wagtail/wagtailcore/tests/test_page_model.py +++ b/wagtail/wagtailcore/tests/test_page_model.py @@ -12,16 +12,14 @@ from django.http import Http404, HttpRequest from django.test import Client, TestCase from django.test.client import RequestFactory from django.test.utils import override_settings - from freezegun import freeze_time from wagtail.tests.testapp.models import ( AbstractPage, Advert, AlwaysShowInMenusPage, BlogCategory, BlogCategoryBlogPage, BusinessChild, - BusinessIndex, BusinessNowherePage, BusinessSubIndex, - CustomManager, CustomManagerPage, CustomPageQuerySet, - EventIndex, EventPage, GenericSnippetPage, ManyToManyBlogPage, MTIBasePage, MTIChildPage, - MyCustomPage, OneToOnePage, SimplePage, SingleEventPage, SingletonPage, StandardIndex, - TaggedPage) + BusinessIndex, BusinessNowherePage, BusinessSubIndex, CustomManager, CustomManagerPage, + CustomPageQuerySet, EventIndex, EventPage, GenericSnippetPage, ManyToManyBlogPage, MTIBasePage, + MTIChildPage, MyCustomPage, OneToOnePage, SimplePage, SingleEventPage, SingletonPage, + StandardIndex, TaggedPage) from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailcore.models import Page, PageManager, Site, get_page_models @@ -224,11 +222,11 @@ class TestRouting(TestCase): # need to clear urlresolver caches before/after tests, because we override ROOT_URLCONF # in some tests here def setUp(self): - from django.core.urlresolvers import clear_url_caches + from django.urls import clear_url_caches clear_url_caches() def tearDown(self): - from django.core.urlresolvers import clear_url_caches + from django.urls import clear_url_caches clear_url_caches() def test_urls(self): @@ -399,11 +397,11 @@ class TestServeView(TestCase): # also need to clear urlresolver caches before/after tests, because we override # ROOT_URLCONF in some tests here - from django.core.urlresolvers import clear_url_caches + from django.urls import clear_url_caches clear_url_caches() def tearDown(self): - from django.core.urlresolvers import clear_url_caches + from django.urls import clear_url_caches clear_url_caches() def test_serve(self): diff --git a/wagtail/wagtailcore/tests/test_views.py b/wagtail/wagtailcore/tests/test_views.py index bbbf04c0e6..8df118d056 100644 --- a/wagtail/wagtailcore/tests/test_views.py +++ b/wagtail/wagtailcore/tests/test_views.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailcore.models import Page diff --git a/wagtail/wagtailcore/url_routing.py b/wagtail/wagtailcore/url_routing.py index e24419ffe4..035db3e891 100644 --- a/wagtail/wagtailcore/url_routing.py +++ b/wagtail/wagtailcore/url_routing.py @@ -5,7 +5,7 @@ class RouteResult(object): """ An object to be returned from Page.route, which encapsulates all the information necessary to serve an HTTP response. Analogous to - django.core.urlresolvers.ResolverMatch, except that it identifies + django.urls.resolvers.ResolverMatch, except that it identifies a Page instance that we will call serve(*args, **kwargs) on, rather than a view function. """ diff --git a/wagtail/wagtailcore/urls.py b/wagtail/wagtailcore/urls.py index 998fc4e3b1..f69252e01c 100644 --- a/wagtail/wagtailcore/urls.py +++ b/wagtail/wagtailcore/urls.py @@ -7,7 +7,6 @@ from django.contrib.auth import views as auth_views from wagtail.wagtailcore import views from wagtail.wagtailcore.utils import WAGTAIL_APPEND_SLASH - if WAGTAIL_APPEND_SLASH: # If WAGTAIL_APPEND_SLASH is True (the default value), we match a # (possibly empty) list of path segments ending in slashes. diff --git a/wagtail/wagtailcore/utils.py b/wagtail/wagtailcore/utils.py index 9359898606..5adc8b2cc5 100644 --- a/wagtail/wagtailcore/utils.py +++ b/wagtail/wagtailcore/utils.py @@ -11,7 +11,6 @@ from django.utils.encoding import force_text from django.utils.six import string_types from django.utils.text import slugify - WAGTAIL_APPEND_SLASH = getattr(settings, 'WAGTAIL_APPEND_SLASH', True) diff --git a/wagtail/wagtailcore/views.py b/wagtail/wagtailcore/views.py index 14fcc55fbc..6231a656b7 100644 --- a/wagtail/wagtailcore/views.py +++ b/wagtail/wagtailcore/views.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.http import Http404, HttpResponse from django.shortcuts import get_object_or_404, redirect +from django.urls import reverse from wagtail.wagtailcore import hooks from wagtail.wagtailcore.forms import PasswordViewRestrictionForm diff --git a/wagtail/wagtailcore/wagtail_hooks.py b/wagtail/wagtailcore/wagtail_hooks.py index 72b53dcd06..90a1f9c0b5 100644 --- a/wagtail/wagtailcore/wagtail_hooks.py +++ b/wagtail/wagtailcore/wagtail_hooks.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.conf import settings from django.contrib.auth.views import redirect_to_login -from django.core.urlresolvers import reverse +from django.urls import reverse from wagtail.wagtailcore import hooks from wagtail.wagtailcore.models import PageViewRestriction diff --git a/wagtail/wagtaildocs/models.py b/wagtail/wagtaildocs/models.py index dc8ddfe273..4191fd326e 100644 --- a/wagtail/wagtaildocs/models.py +++ b/wagtail/wagtaildocs/models.py @@ -4,9 +4,9 @@ import os.path from django.conf import settings from django.core.exceptions import ImproperlyConfigured -from django.core.urlresolvers import reverse from django.db import models from django.dispatch import Signal +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from taggit.managers import TaggableManager diff --git a/wagtail/wagtaildocs/tests/test_admin_views.py b/wagtail/wagtaildocs/tests/test_admin_views.py index bea877994b..354738465a 100644 --- a/wagtail/wagtaildocs/tests/test_admin_views.py +++ b/wagtail/wagtaildocs/tests/test_admin_views.py @@ -6,9 +6,9 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.core.files.base import ContentFile from django.core.files.uploadedfile import SimpleUploadedFile -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from django.utils.six import b from wagtail.tests.testapp.models import EventPage, EventPageRelatedLink diff --git a/wagtail/wagtaildocs/tests/test_collection_privacy.py b/wagtail/wagtaildocs/tests/test_collection_privacy.py index db60a282e4..a859ccaeda 100644 --- a/wagtail/wagtaildocs/tests/test_collection_privacy.py +++ b/wagtail/wagtaildocs/tests/test_collection_privacy.py @@ -2,8 +2,8 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import Group from django.core.files.base import ContentFile -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from django.utils.six import b from wagtail.wagtailcore.models import Collection, CollectionViewRestriction diff --git a/wagtail/wagtaildocs/tests/test_rich_text.py b/wagtail/wagtaildocs/tests/test_rich_text.py index 520dc8ba0f..630bc11fbb 100644 --- a/wagtail/wagtaildocs/tests/test_rich_text.py +++ b/wagtail/wagtaildocs/tests/test_rich_text.py @@ -1,7 +1,6 @@ from __future__ import absolute_import, unicode_literals from bs4 import BeautifulSoup - from django.test import TestCase from wagtail.wagtaildocs.rich_text import DocumentLinkHandler diff --git a/wagtail/wagtaildocs/tests/test_search.py b/wagtail/wagtaildocs/tests/test_search.py index 715b345209..44851c84ba 100644 --- a/wagtail/wagtaildocs/tests/test_search.py +++ b/wagtail/wagtaildocs/tests/test_search.py @@ -3,9 +3,9 @@ from __future__ import absolute_import, unicode_literals import unittest from django.core.files.base import ContentFile -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from django.utils.six import b from wagtail.tests.utils import WagtailTestUtils diff --git a/wagtail/wagtaildocs/tests/test_views.py b/wagtail/wagtaildocs/tests/test_views.py index d05009a064..d072b5ef0f 100644 --- a/wagtail/wagtaildocs/tests/test_views.py +++ b/wagtail/wagtaildocs/tests/test_views.py @@ -4,13 +4,12 @@ import os.path import unittest import mock - from django.conf import settings from django.core.files.base import ContentFile from django.core.files.uploadedfile import SimpleUploadedFile -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtaildocs import models diff --git a/wagtail/wagtaildocs/views/chooser.py b/wagtail/wagtaildocs/views/chooser.py index 7d10c5ef4f..a1099652d3 100644 --- a/wagtail/wagtaildocs/views/chooser.py +++ b/wagtail/wagtaildocs/views/chooser.py @@ -2,8 +2,8 @@ from __future__ import absolute_import, unicode_literals import json -from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, render +from django.urls import reverse from wagtail.utils.pagination import paginate from wagtail.wagtailadmin.forms import SearchForm diff --git a/wagtail/wagtaildocs/views/documents.py b/wagtail/wagtaildocs/views/documents.py index d25f958c21..873d01ccd0 100644 --- a/wagtail/wagtaildocs/views/documents.py +++ b/wagtail/wagtaildocs/views/documents.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers diff --git a/wagtail/wagtaildocs/views/serve.py b/wagtail/wagtaildocs/views/serve.py index dc9d72a92b..e62c6c8a07 100644 --- a/wagtail/wagtaildocs/views/serve.py +++ b/wagtail/wagtaildocs/views/serve.py @@ -3,10 +3,10 @@ from __future__ import absolute_import, unicode_literals from wsgiref.util import FileWrapper from django.conf import settings -from django.core.urlresolvers import reverse from django.http import Http404, HttpResponse, StreamingHttpResponse from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse +from django.urls import reverse from wagtail.utils import sendfile_streaming_backend from wagtail.utils.sendfile import sendfile diff --git a/wagtail/wagtaildocs/wagtail_hooks.py b/wagtail/wagtaildocs/wagtail_hooks.py index eab3c029b9..4d2d19d40c 100644 --- a/wagtail/wagtaildocs/wagtail_hooks.py +++ b/wagtail/wagtaildocs/wagtail_hooks.py @@ -3,8 +3,8 @@ from __future__ import absolute_import, unicode_literals from django.conf import settings from django.conf.urls import include, url from django.contrib.staticfiles.templatetags.staticfiles import static -from django.core import urlresolvers from django.template.response import TemplateResponse +from django.urls import reverse from django.utils.html import format_html, format_html_join from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ungettext @@ -47,7 +47,7 @@ class DocumentsMenuItem(MenuItem): def register_documents_menu_item(): return DocumentsMenuItem( _('Documents'), - urlresolvers.reverse('wagtaildocs:index'), + reverse('wagtaildocs:index'), name='documents', classnames='icon icon-doc-full-inverse', order=400 @@ -69,7 +69,7 @@ def editor_js(): window.chooserUrls.documentChooser = '{0}'; """, - urlresolvers.reverse('wagtaildocs:chooser') + reverse('wagtaildocs:chooser') ) @@ -120,7 +120,7 @@ class DocsSearchArea(SearchArea): @hooks.register('register_admin_search_area') def register_documents_search_area(): return DocsSearchArea( - _('Documents'), urlresolvers.reverse('wagtaildocs:index'), + _('Documents'), reverse('wagtaildocs:index'), name='documents', classnames='icon icon-doc-full-inverse', order=400) @@ -135,7 +135,7 @@ def register_document_permissions_panel(): def describe_collection_docs(collection): docs_count = get_document_model().objects.filter(collection=collection).count() if docs_count: - url = urlresolvers.reverse('wagtaildocs:index') + ('?collection_id=%d' % collection.id) + url = reverse('wagtaildocs:index') + ('?collection_id=%d' % collection.id) return { 'count': docs_count, 'count_text': ungettext( @@ -162,7 +162,7 @@ def check_view_restrictions(document, request): from wagtail.wagtailcore.forms import PasswordViewRestrictionForm form = PasswordViewRestrictionForm(instance=restriction, initial={'return_url': request.get_full_path()}) - action_url = urlresolvers.reverse('wagtaildocs_authenticate_with_password', args=[restriction.id]) + action_url = reverse('wagtaildocs_authenticate_with_password', args=[restriction.id]) password_required_template = getattr(settings, 'DOCUMENT_PASSWORD_REQUIRED_TEMPLATE', 'wagtaildocs/password_required.html') diff --git a/wagtail/wagtailembeds/oembed_providers.py b/wagtail/wagtailembeds/oembed_providers.py index d358f822ec..494363b947 100644 --- a/wagtail/wagtailembeds/oembed_providers.py +++ b/wagtail/wagtailembeds/oembed_providers.py @@ -1,6 +1,5 @@ from __future__ import absolute_import, unicode_literals - speakerdeck = { "endpoint": "https://speakerdeck.com/oembed.{format}", "urls": [ diff --git a/wagtail/wagtailembeds/tests.py b/wagtail/wagtailembeds/tests.py index 2878036c6b..ac7b0cf3c7 100644 --- a/wagtail/wagtailembeds/tests.py +++ b/wagtail/wagtailembeds/tests.py @@ -6,8 +6,8 @@ import django.utils.six.moves.urllib.request from bs4 import BeautifulSoup from django import template from django.core.exceptions import ValidationError -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse from django.utils.six.moves.urllib.error import URLError from mock import patch diff --git a/wagtail/wagtailembeds/wagtail_hooks.py b/wagtail/wagtailembeds/wagtail_hooks.py index aac316f6ac..e09b3919e7 100644 --- a/wagtail/wagtailembeds/wagtail_hooks.py +++ b/wagtail/wagtailembeds/wagtail_hooks.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import include, url -from django.core import urlresolvers +from django.urls import reverse from django.utils.html import format_html from wagtail.wagtailadmin.rich_text import HalloPlugin @@ -25,7 +25,7 @@ def editor_js(): window.chooserUrls.embedsChooser = '{0}'; """, - urlresolvers.reverse('wagtailembeds:chooser') + reverse('wagtailembeds:chooser') ) diff --git a/wagtail/wagtailforms/tests/test_views.py b/wagtail/wagtailforms/tests/test_views.py index 386f0f5c57..bc2825ef49 100644 --- a/wagtail/wagtailforms/tests/test_views.py +++ b/wagtail/wagtailforms/tests/test_views.py @@ -4,8 +4,8 @@ from __future__ import absolute_import, unicode_literals import json from django.contrib.auth import get_user_model -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.tests.testapp.models import ( CustomFormPageSubmission, FormField, FormFieldWithCustomSubmission, FormPage) diff --git a/wagtail/wagtailforms/tests/utils.py b/wagtail/wagtailforms/tests/utils.py index 888efe252f..bc94f324b8 100644 --- a/wagtail/wagtailforms/tests/utils.py +++ b/wagtail/wagtailforms/tests/utils.py @@ -2,9 +2,7 @@ from __future__ import absolute_import, unicode_literals from wagtail.tests.testapp.models import ( - FormField, FormFieldWithCustomSubmission, - FormPage, FormPageWithCustomSubmission -) + FormField, FormFieldWithCustomSubmission, FormPage, FormPageWithCustomSubmission) from wagtail.wagtailcore.models import Page diff --git a/wagtail/wagtailforms/wagtail_hooks.py b/wagtail/wagtailforms/wagtail_hooks.py index 5e2d297c9f..4d1a6898ca 100644 --- a/wagtail/wagtailforms/wagtail_hooks.py +++ b/wagtail/wagtailforms/wagtail_hooks.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import include, url -from django.core import urlresolvers +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.menu import MenuItem @@ -26,6 +26,6 @@ class FormsMenuItem(MenuItem): @hooks.register('register_admin_menu_item') def register_forms_menu_item(): return FormsMenuItem( - _('Forms'), urlresolvers.reverse('wagtailforms:index'), + _('Forms'), reverse('wagtailforms:index'), name='forms', classnames='icon icon-form', order=700 ) diff --git a/wagtail/wagtailimages/models.py b/wagtail/wagtailimages/models.py index 256cd60f73..4246041ffd 100644 --- a/wagtail/wagtailimages/models.py +++ b/wagtail/wagtailimages/models.py @@ -8,9 +8,10 @@ from contextlib import contextmanager from django.conf import settings from django.core import checks from django.core.files import File -from django.core.urlresolvers import reverse from django.db import models from django.forms.utils import flatatt + +from django.urls import reverse from django.utils.functional import cached_property from django.utils.safestring import mark_safe from django.utils.six import BytesIO, string_types, text_type diff --git a/wagtail/wagtailimages/tests/test_admin_views.py b/wagtail/wagtailimages/tests/test_admin_views.py index 9f18681ee1..97d27ad1f6 100644 --- a/wagtail/wagtailimages/tests/test_admin_views.py +++ b/wagtail/wagtailimages/tests/test_admin_views.py @@ -5,9 +5,9 @@ import json from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.core.files.uploadedfile import SimpleUploadedFile -from django.core.urlresolvers import reverse from django.template.defaultfilters import filesizeformat from django.test import TestCase, override_settings +from django.urls import reverse from django.utils.http import RFC3986_SUBDELIMS, urlquote from wagtail.tests.utils import WagtailTestUtils diff --git a/wagtail/wagtailimages/tests/test_models.py b/wagtail/wagtailimages/tests/test_models.py index 1cf852fc8c..b6505d65c4 100644 --- a/wagtail/wagtailimages/tests/test_models.py +++ b/wagtail/wagtailimages/tests/test_models.py @@ -5,10 +5,10 @@ import unittest from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.core.files.uploadedfile import SimpleUploadedFile -from django.core.urlresolvers import reverse from django.db.utils import IntegrityError from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from willow.image import Image as WillowImage from wagtail.tests.testapp.models import EventPage, EventPageCarouselItem diff --git a/wagtail/wagtailimages/tests/tests.py b/wagtail/wagtailimages/tests/tests.py index a31a41a2ac..abb6bc5975 100644 --- a/wagtail/wagtailimages/tests/tests.py +++ b/wagtail/wagtailimages/tests/tests.py @@ -6,8 +6,8 @@ import unittest from django import forms, template from django.conf import settings from django.core.exceptions import ImproperlyConfigured -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse from django.utils import six from mock import MagicMock from taggit.forms import TagField, TagWidget diff --git a/wagtail/wagtailimages/views/chooser.py b/wagtail/wagtailimages/views/chooser.py index ef51ef767c..43f0b49a6a 100644 --- a/wagtail/wagtailimages/views/chooser.py +++ b/wagtail/wagtailimages/views/chooser.py @@ -2,8 +2,8 @@ from __future__ import absolute_import, unicode_literals import json -from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, render +from django.urls import reverse from wagtail.utils.pagination import paginate from wagtail.wagtailadmin.forms import SearchForm diff --git a/wagtail/wagtailimages/views/images.py b/wagtail/wagtailimages/views/images.py index 28a0195953..aa6b523a65 100644 --- a/wagtail/wagtailimages/views/images.py +++ b/wagtail/wagtailimages/views/images.py @@ -2,9 +2,10 @@ from __future__ import absolute_import, unicode_literals import os -from django.core.urlresolvers import NoReverseMatch, reverse from django.http import HttpResponse, JsonResponse from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse +from django.urls.exceptions import NoReverseMatch from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers diff --git a/wagtail/wagtailimages/wagtail_hooks.py b/wagtail/wagtailimages/wagtail_hooks.py index 6d4a79421a..9a4781e2bc 100644 --- a/wagtail/wagtailimages/wagtail_hooks.py +++ b/wagtail/wagtailimages/wagtail_hooks.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import include, url from django.contrib.staticfiles.templatetags.staticfiles import static -from django.core import urlresolvers +from django.urls import reverse from django.utils.html import format_html, format_html_join from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ungettext @@ -41,7 +41,7 @@ class ImagesMenuItem(MenuItem): @hooks.register('register_admin_menu_item') def register_images_menu_item(): return ImagesMenuItem( - _('Images'), urlresolvers.reverse('wagtailimages:index'), + _('Images'), reverse('wagtailimages:index'), name='images', classnames='icon icon-image', order=300 ) @@ -61,7 +61,7 @@ def editor_js(): window.chooserUrls.imageChooser = '{0}'; """, - urlresolvers.reverse('wagtailimages:chooser') + reverse('wagtailimages:chooser') ) @@ -126,7 +126,7 @@ class ImagesSearchArea(SearchArea): @hooks.register('register_admin_search_area') def register_images_search_area(): return ImagesSearchArea( - _('Images'), urlresolvers.reverse('wagtailimages:index'), + _('Images'), reverse('wagtailimages:index'), name='images', classnames='icon icon-image', order=200) @@ -141,7 +141,7 @@ def register_image_permissions_panel(): def describe_collection_docs(collection): images_count = get_image_model().objects.filter(collection=collection).count() if images_count: - url = urlresolvers.reverse('wagtailimages:index') + ('?collection_id=%d' % collection.id) + url = reverse('wagtailimages:index') + ('?collection_id=%d' % collection.id) return { 'count': images_count, 'count_text': ungettext( diff --git a/wagtail/wagtailredirects/tests.py b/wagtail/wagtailredirects/tests.py index e566200327..c18752d2d3 100644 --- a/wagtail/wagtailredirects/tests.py +++ b/wagtail/wagtailredirects/tests.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailcore.models import Page, Site diff --git a/wagtail/wagtailredirects/views.py b/wagtail/wagtailredirects/views.py index b1218e3e23..0129a000c6 100644 --- a/wagtail/wagtailredirects/views.py +++ b/wagtail/wagtailredirects/views.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers diff --git a/wagtail/wagtailredirects/wagtail_hooks.py b/wagtail/wagtailredirects/wagtail_hooks.py index 08f5e6fb6e..722a5c4f8a 100644 --- a/wagtail/wagtailredirects/wagtail_hooks.py +++ b/wagtail/wagtailredirects/wagtail_hooks.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import include, url from django.contrib.auth.models import Permission -from django.core import urlresolvers +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.menu import MenuItem @@ -28,7 +28,7 @@ class RedirectsMenuItem(MenuItem): @hooks.register('register_settings_menu_item') def register_redirects_menu_item(): return RedirectsMenuItem( - _('Redirects'), urlresolvers.reverse('wagtailredirects:index'), classnames='icon icon-redirect', order=800 + _('Redirects'), reverse('wagtailredirects:index'), classnames='icon icon-redirect', order=800 ) diff --git a/wagtail/wagtailsearch/index.py b/wagtail/wagtailsearch/index.py index f3da4aed6b..e69bda24ff 100644 --- a/wagtail/wagtailsearch/index.py +++ b/wagtail/wagtailsearch/index.py @@ -11,7 +11,6 @@ from django.db.models.fields.related import ForeignObjectRel, OneToOneRel, Relat from wagtail.wagtailsearch.backends import get_search_backends_with_name - logger = logging.getLogger('wagtail.search.index') diff --git a/wagtail/wagtailsearch/tests/test_frontend.py b/wagtail/wagtailsearch/tests/test_frontend.py index e601c30244..6bfe2b661b 100644 --- a/wagtail/wagtailsearch/tests/test_frontend.py +++ b/wagtail/wagtailsearch/tests/test_frontend.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals from django.core import paginator -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from wagtail.tests.testapp.models import EventPage from wagtail.wagtailcore.models import Page diff --git a/wagtail/wagtailsearch/tests/test_index_functions.py b/wagtail/wagtailsearch/tests/test_index_functions.py index 7fbada7138..b2df18ce34 100644 --- a/wagtail/wagtailsearch/tests/test_index_functions.py +++ b/wagtail/wagtailsearch/tests/test_index_functions.py @@ -1,8 +1,8 @@ from __future__ import absolute_import, unicode_literals from datetime import date -import mock +import mock from django.test import TestCase, override_settings from wagtail.tests.search import models diff --git a/wagtail/wagtailsites/tests.py b/wagtail/wagtailsites/tests.py index 4865bc02c6..17ea536b24 100644 --- a/wagtail/wagtailsites/tests.py +++ b/wagtail/wagtailsites/tests.py @@ -2,8 +2,8 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth import get_user_model from django.contrib.auth.models import Permission -from django.core.urlresolvers import reverse from django.test import TestCase +from django.urls import reverse from django.utils import six from wagtail.tests.utils import WagtailTestUtils diff --git a/wagtail/wagtailsites/wagtail_hooks.py b/wagtail/wagtailsites/wagtail_hooks.py index ecd92c6128..80fee89921 100644 --- a/wagtail/wagtailsites/wagtail_hooks.py +++ b/wagtail/wagtailsites/wagtail_hooks.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals from django.contrib.auth.models import Permission -from django.core import urlresolvers +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.menu import MenuItem @@ -25,7 +25,7 @@ class SitesMenuItem(MenuItem): @hooks.register('register_settings_menu_item') def register_sites_menu_item(): - return SitesMenuItem(_('Sites'), urlresolvers.reverse('wagtailsites:index'), + return SitesMenuItem(_('Sites'), reverse('wagtailsites:index'), classnames='icon icon-site', order=602) diff --git a/wagtail/wagtailsnippets/models.py b/wagtail/wagtailsnippets/models.py index 74b2828347..3b76bb2c5e 100644 --- a/wagtail/wagtailsnippets/models.py +++ b/wagtail/wagtailsnippets/models.py @@ -1,6 +1,6 @@ from __future__ import absolute_import, unicode_literals -from django.core.urlresolvers import reverse +from django.urls import reverse from wagtail.wagtailadmin.utils import get_object_usage diff --git a/wagtail/wagtailsnippets/tests.py b/wagtail/wagtailsnippets/tests.py index 69fcf15bf7..b6cfe037ee 100644 --- a/wagtail/wagtailsnippets/tests.py +++ b/wagtail/wagtailsnippets/tests.py @@ -5,9 +5,9 @@ from django.contrib.auth.models import Permission from django.core.exceptions import ValidationError from django.core.files.base import ContentFile from django.core.files.uploadedfile import SimpleUploadedFile -from django.core.urlresolvers import reverse from django.test import TestCase from django.test.utils import override_settings +from django.urls import reverse from taggit.models import Tag from wagtail.tests.snippets.forms import FancySnippetForm diff --git a/wagtail/wagtailsnippets/views/chooser.py b/wagtail/wagtailsnippets/views/chooser.py index 9e71d51726..e1318c1177 100644 --- a/wagtail/wagtailsnippets/views/chooser.py +++ b/wagtail/wagtailsnippets/views/chooser.py @@ -2,8 +2,8 @@ from __future__ import absolute_import, unicode_literals import json -from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, render +from django.urls import reverse from django.utils.six import text_type from django.utils.translation import ugettext as _ diff --git a/wagtail/wagtailsnippets/views/snippets.py b/wagtail/wagtailsnippets/views/snippets.py index 4c61731f14..02354fb86c 100644 --- a/wagtail/wagtailsnippets/views/snippets.py +++ b/wagtail/wagtailsnippets/views/snippets.py @@ -1,9 +1,9 @@ from __future__ import absolute_import, unicode_literals from django.apps import apps -from django.core.urlresolvers import reverse from django.http import Http404 from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse from django.utils.text import capfirst from django.utils.translation import ugettext as _ diff --git a/wagtail/wagtailsnippets/wagtail_hooks.py b/wagtail/wagtailsnippets/wagtail_hooks.py index 9c3ceea0a8..1be463bc2a 100644 --- a/wagtail/wagtailsnippets/wagtail_hooks.py +++ b/wagtail/wagtailsnippets/wagtail_hooks.py @@ -4,7 +4,7 @@ from django.conf.urls import include, url from django.contrib.auth.models import Permission from django.contrib.contenttypes.models import ContentType from django.contrib.staticfiles.templatetags.staticfiles import static -from django.core import urlresolvers +from django.urls import reverse from django.utils.html import format_html from django.utils.translation import ugettext_lazy as _ @@ -31,7 +31,7 @@ class SnippetsMenuItem(MenuItem): def register_snippets_menu_item(): return SnippetsMenuItem( _('Snippets'), - urlresolvers.reverse('wagtailsnippets:index'), + reverse('wagtailsnippets:index'), classnames='icon icon-snippet', order=500 ) @@ -45,7 +45,7 @@ def editor_js(): """, static('wagtailsnippets/js/snippet-chooser.js'), - urlresolvers.reverse('wagtailsnippets:choose_generic') + reverse('wagtailsnippets:choose_generic') ) diff --git a/wagtail/wagtailusers/forms.py b/wagtail/wagtailusers/forms.py index 10e62de212..a8d49fe852 100644 --- a/wagtail/wagtailusers/forms.py +++ b/wagtail/wagtailusers/forms.py @@ -7,8 +7,7 @@ from django.conf import settings from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.contrib.auth.password_validation import ( - password_validators_help_text_html, validate_password -) + password_validators_help_text_html, validate_password) from django.db import transaction from django.db.models.fields import BLANK_CHOICE_DASH from django.template.loader import render_to_string @@ -23,7 +22,6 @@ from wagtail.wagtailcore.models import ( UserPagePermissionsProxy) from wagtail.wagtailusers.models import UserProfile - User = get_user_model() # The standard fields each user model is expected to have, as a minimum. diff --git a/wagtail/wagtailusers/templatetags/wagtailusers_tags.py b/wagtail/wagtailusers/templatetags/wagtailusers_tags.py index 2ee8c6b631..661544d972 100644 --- a/wagtail/wagtailusers/templatetags/wagtailusers_tags.py +++ b/wagtail/wagtailusers/templatetags/wagtailusers_tags.py @@ -3,6 +3,7 @@ from __future__ import absolute_import, unicode_literals import itertools from django import template + from wagtail.wagtailcore import hooks register = template.Library() diff --git a/wagtail/wagtailusers/tests.py b/wagtail/wagtailusers/tests.py index 71a6cb4d37..ec797c93ec 100644 --- a/wagtail/wagtailusers/tests.py +++ b/wagtail/wagtailusers/tests.py @@ -5,8 +5,8 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.core.exceptions import ImproperlyConfigured from django.core.files.uploadedfile import SimpleUploadedFile -from django.core.urlresolvers import reverse from django.test import TestCase, override_settings +from django.urls import reverse from django.utils import six from wagtail.tests.utils import WagtailTestUtils @@ -18,7 +18,6 @@ from wagtail.wagtailusers.forms import UserCreationForm, UserEditForm from wagtail.wagtailusers.models import UserProfile from wagtail.wagtailusers.views.users import get_user_creation_form, get_user_edit_form - delete_user_perm_codename = "delete_{0}".format(AUTH_USER_MODEL_NAME.lower()) change_user_perm_codename = "change_{0}".format(AUTH_USER_MODEL_NAME.lower()) diff --git a/wagtail/wagtailusers/utils.py b/wagtail/wagtailusers/utils.py index ae82e823cf..784bde50e1 100644 --- a/wagtail/wagtailusers/utils.py +++ b/wagtail/wagtailusers/utils.py @@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals from wagtail.wagtailcore.compat import AUTH_USER_APP_LABEL, AUTH_USER_MODEL_NAME - delete_user_perm = "{0}.delete_{1}".format(AUTH_USER_APP_LABEL, AUTH_USER_MODEL_NAME.lower()) diff --git a/wagtail/wagtailusers/views/users.py b/wagtail/wagtailusers/views/users.py index 0b2a7e0453..f9e43ce71f 100644 --- a/wagtail/wagtailusers/views/users.py +++ b/wagtail/wagtailusers/views/users.py @@ -3,9 +3,9 @@ from __future__ import absolute_import, unicode_literals from django.conf import settings from django.contrib.auth import get_user_model from django.core.exceptions import ImproperlyConfigured -from django.core.urlresolvers import reverse from django.db.models import Q from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse from django.utils.module_loading import import_string from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers diff --git a/wagtail/wagtailusers/wagtail_hooks.py b/wagtail/wagtailusers/wagtail_hooks.py index 979d93c13f..9de15b3e8d 100644 --- a/wagtail/wagtailusers/wagtail_hooks.py +++ b/wagtail/wagtailusers/wagtail_hooks.py @@ -2,9 +2,8 @@ from __future__ import absolute_import, unicode_literals from django.conf.urls import include, url from django.contrib.auth.models import Permission -from django.core import urlresolvers -from django.core.urlresolvers import reverse from django.db.models import Q +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.menu import MenuItem @@ -50,7 +49,7 @@ class UsersMenuItem(MenuItem): def register_users_menu_item(): return UsersMenuItem( _('Users'), - urlresolvers.reverse('wagtailusers_users:index'), + reverse('wagtailusers_users:index'), classnames='icon icon-user', order=600 ) @@ -69,7 +68,7 @@ class GroupsMenuItem(MenuItem): def register_groups_menu_item(): return GroupsMenuItem( _('Groups'), - urlresolvers.reverse('wagtailusers_groups:index'), + reverse('wagtailusers_groups:index'), classnames='icon icon-group', order=601 ) @@ -99,7 +98,7 @@ class UsersSearchArea(SearchArea): @hooks.register('register_admin_search_area') def register_users_search_area(): return UsersSearchArea( - _('Users'), urlresolvers.reverse('wagtailusers_users:index'), + _('Users'), reverse('wagtailusers_users:index'), name='users', classnames='icon icon-user', order=600)