From 8a70e9773d8055d22cc63b476b4c3f3e0d7a41be Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Sat, 25 Mar 2017 19:16:45 +0000 Subject: [PATCH] Fix various "RemovedInDjango20Warning" warnings. Commit ready for merge. - Legacy-Id: 13112 --- ietf/api/__init__.py | 2 +- ietf/community/models.py | 2 +- ietf/community/tests.py | 2 +- ietf/community/utils.py | 4 ++-- ietf/community/views.py | 2 +- ietf/cookies/tests.py | 2 +- ietf/doc/feeds.py | 2 +- ietf/doc/fields.py | 2 +- ietf/doc/mails.py | 2 +- .../commands/generate_draft_bibxml_files.py | 2 +- ietf/doc/models.py | 2 +- ietf/doc/templatetags/ballot_icon.py | 2 +- ietf/doc/templatetags/ietf_filters.py | 6 +++--- ietf/doc/templatetags/managed_groups.py | 4 ++-- ietf/doc/templatetags/streams_menu.py | 2 +- ietf/doc/tests.py | 2 +- ietf/doc/tests_ballot.py | 2 +- ietf/doc/tests_charter.py | 2 +- ietf/doc/tests_conflict_review.py | 2 +- ietf/doc/tests_draft.py | 2 +- ietf/doc/tests_material.py | 2 +- ietf/doc/tests_review.py | 2 +- ietf/doc/tests_status_change.py | 2 +- ietf/doc/utils.py | 4 ++-- ietf/doc/utils_charter.py | 2 +- ietf/doc/views_ballot.py | 2 +- ietf/doc/views_charter.py | 2 +- ietf/doc/views_conflict_review.py | 2 +- ietf/doc/views_doc.py | 10 +++++----- ietf/doc/views_draft.py | 2 +- ietf/doc/views_material.py | 2 +- ietf/doc/views_review.py | 2 +- ietf/doc/views_search.py | 2 +- ietf/doc/views_stats.py | 2 +- ietf/doc/views_status_change.py | 2 +- ietf/group/feeds.py | 2 +- ietf/group/mails.py | 2 +- ietf/group/models.py | 4 ++-- ietf/group/tests.py | 2 +- ietf/group/tests_info.py | 4 ++-- ietf/group/tests_review.py | 2 +- ietf/group/utils.py | 2 +- ietf/group/views.py | 6 +++--- ietf/group/views_ajax.py | 2 +- ietf/group/views_review.py | 2 +- ietf/help/models.py | 2 +- ietf/help/tests_views.py | 2 +- ietf/iesg/tests.py | 2 +- ietf/ietfauth/forms.py | 2 +- ietf/ietfauth/tests.py | 2 +- ietf/ietfauth/utils.py | 8 ++++---- ietf/ietfauth/views.py | 4 ++-- ietf/ipr/feeds.py | 2 +- ietf/ipr/fields.py | 2 +- ietf/ipr/models.py | 2 +- ietf/ipr/tests.py | 2 +- ietf/ipr/urls.py | 2 +- ietf/ipr/utils.py | 2 +- ietf/ipr/views.py | 2 +- ietf/liaisons/admin.py | 2 +- ietf/liaisons/feeds.py | 2 +- ietf/liaisons/fields.py | 2 +- .../management/commands/check_liaison_deadlines.py | 2 +- .../management/commands/remind_update_sdo_list.py | 2 +- ietf/liaisons/migrations/0005_migrate_groups.py | 2 +- ietf/liaisons/models.py | 2 +- ietf/liaisons/tests.py | 2 +- ietf/liaisons/utils.py | 2 +- ietf/liaisons/views.py | 6 +++--- ietf/liaisons/widgets.py | 2 +- ietf/mailinglists/tests.py | 2 +- ietf/mailtrigger/tests.py | 2 +- ietf/mailtrigger/urls.py | 2 +- ietf/meeting/ajax.py | 2 +- ietf/meeting/helpers.py | 2 +- ietf/meeting/tests_api.py | 2 +- ietf/meeting/tests_js.py | 2 +- ietf/meeting/tests_views.py | 2 +- ietf/meeting/views.py | 2 +- ietf/message/tests.py | 2 +- ietf/middleware.py | 2 +- ietf/nomcom/decorators.py | 2 +- ietf/nomcom/forms.py | 2 +- ietf/nomcom/tests.py | 2 +- ietf/nomcom/utils.py | 2 +- ietf/nomcom/views.py | 2 +- ietf/person/fields.py | 2 +- ietf/person/tests.py | 2 +- ietf/release/tests.py | 2 +- ietf/review/utils.py | 8 ++++---- ietf/secr/announcement/tests.py | 2 +- ietf/secr/areas/tests.py | 2 +- ietf/secr/drafts/reports.py | 2 +- ietf/secr/drafts/tests_views.py | 2 +- ietf/secr/groups/tests.py | 2 +- ietf/secr/meetings/models.py | 2 +- ietf/secr/meetings/tests.py | 2 +- ietf/secr/meetings/views.py | 2 +- ietf/secr/proceedings/tests.py | 2 +- ietf/secr/proceedings/views.py | 2 +- ietf/secr/roles/tests.py | 2 +- ietf/secr/roles/views.py | 2 +- ietf/secr/rolodex/tests.py | 2 +- ietf/secr/sreq/tests.py | 2 +- ietf/secr/telechat/tests.py | 2 +- ietf/secr/utils/decorators.py | 2 +- ietf/secr/utils/test.py | 2 +- ietf/stats/tests.py | 2 +- ietf/stats/views.py | 2 +- ietf/submit/admin.py | 2 +- ietf/submit/forms.py | 2 +- ietf/submit/mail.py | 4 ++-- ietf/submit/tests.py | 2 +- ietf/submit/utils.py | 12 ++++++------ ietf/submit/views.py | 2 +- ietf/sync/mails.py | 2 +- ietf/sync/tests.py | 2 +- ietf/sync/views.py | 2 +- ietf/utils/html.py | 4 ++-- ietf/utils/test_runner.py | 2 +- ietf/utils/tests_restapi.py | 2 +- ietf/utils/text.py | 4 ++-- 122 files changed, 152 insertions(+), 152 deletions(-) diff --git a/ietf/api/__init__.py b/ietf/api/__init__.py index fa33e02ab..8ddad4e9f 100644 --- a/ietf/api/__init__.py +++ b/ietf/api/__init__.py @@ -6,7 +6,7 @@ from urllib import urlencode from django.conf import settings from django.http import HttpResponse from django.core.exceptions import ObjectDoesNotExist -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.encoding import force_text import debug # pyflakes:ignore diff --git a/ietf/community/models.py b/ietf/community/models.py index b2df5c663..928e1b2e4 100644 --- a/ietf/community/models.py +++ b/ietf/community/models.py @@ -1,7 +1,7 @@ from django.contrib.auth.models import User from django.db import models from django.db.models import signals -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.doc.models import Document, DocEvent, State from ietf.group.models import Group diff --git a/ietf/community/tests.py b/ietf/community/tests.py index af53055a0..fe8541c46 100644 --- a/ietf/community/tests.py +++ b/ietf/community/tests.py @@ -2,7 +2,7 @@ import json from pyquery import PyQuery -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.contrib.auth.models import User from ietf.community.models import CommunityList, SearchRule, EmailSubscription diff --git a/ietf/community/utils.py b/ietf/community/utils.py index 7cdc7f09b..ddd62d9c4 100644 --- a/ietf/community/utils.py +++ b/ietf/community/utils.py @@ -36,7 +36,7 @@ def lookup_community_list(username=None, acronym=None): return clist def can_manage_community_list(user, clist): - if not user or not user.is_authenticated(): + if not user or not user.is_authenticated: return False if clist.user: @@ -60,7 +60,7 @@ def augment_docs_with_tracking_info(docs, user): tracked = set() - if user and user.is_authenticated(): + if user and user.is_authenticated: clist = CommunityList.objects.filter(user=user).first() if clist: tracked.update(docs_tracked_by_community_list(clist).filter(pk__in=docs).values_list("pk", flat=True)) diff --git a/ietf/community/views.py b/ietf/community/views.py index c841d29bc..472665e4e 100644 --- a/ietf/community/views.py +++ b/ietf/community/views.py @@ -22,7 +22,7 @@ def view_list(request, username=None): docs = docs_tracked_by_community_list(clist) docs, meta = prepare_document_table(request, docs, request.GET) - subscribed = request.user.is_authenticated() and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user) + subscribed = request.user.is_authenticated and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user) return render(request, 'community/view_list.html', { 'clist': clist, diff --git a/ietf/cookies/tests.py b/ietf/cookies/tests.py index feb632744..bcd84ca83 100644 --- a/ietf/cookies/tests.py +++ b/ietf/cookies/tests.py @@ -1,7 +1,7 @@ from pyquery import PyQuery from Cookie import SimpleCookie -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/doc/feeds.py b/ietf/doc/feeds.py index 2998e1e4b..b0c34fae6 100644 --- a/ietf/doc/feeds.py +++ b/ietf/doc/feeds.py @@ -4,7 +4,7 @@ import datetime from django.contrib.syndication.views import Feed, FeedDoesNotExist from django.utils.feedgenerator import Atom1Feed, Rss201rev2Feed -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.template.defaultfilters import truncatewords, truncatewords_html, date as datefilter, linebreaks from django.utils.html import strip_tags diff --git a/ietf/doc/fields.py b/ietf/doc/fields.py index ee69404a5..1d19a128e 100644 --- a/ietf/doc/fields.py +++ b/ietf/doc/fields.py @@ -2,7 +2,7 @@ import json from django.utils.html import escape from django import forms -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py index d0a903447..7d83a67fd 100644 --- a/ietf/doc/mails.py +++ b/ietf/doc/mails.py @@ -6,7 +6,7 @@ import textwrap, datetime from django.template.loader import render_to_string from django.utils.html import strip_tags from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.utils.mail import send_mail, send_mail_text from ietf.ipr.utils import iprs_from_docs, related_docs diff --git a/ietf/doc/management/commands/generate_draft_bibxml_files.py b/ietf/doc/management/commands/generate_draft_bibxml_files.py index 2057cf67f..7db15b384 100644 --- a/ietf/doc/management/commands/generate_draft_bibxml_files.py +++ b/ietf/doc/management/commands/generate_draft_bibxml_files.py @@ -34,4 +34,4 @@ class Command(BaseCommand): ref_rev_file_name = os.path.join(bibxmldir, 'reference.I-D.%s-%s.xml' % (doc.name, doc.rev)) write(ref_file_name, ref_text) write(ref_rev_file_name, ref_text) - \ No newline at end of file + diff --git a/ietf/doc/models.py b/ietf/doc/models.py index f3b65091a..ddc70aca7 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -7,7 +7,7 @@ import os from django.db import models from django.core import checks from django.core.exceptions import ValidationError -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.core.validators import URLValidator from django.contrib.contenttypes.models import ContentType from django.conf import settings diff --git a/ietf/doc/templatetags/ballot_icon.py b/ietf/doc/templatetags/ballot_icon.py index cf24cd0e1..e413590b7 100644 --- a/ietf/doc/templatetags/ballot_icon.py +++ b/ietf/doc/templatetags/ballot_icon.py @@ -35,7 +35,7 @@ import datetime import debug # pyflakes:ignore from django import template -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models import Q from django.utils.safestring import mark_safe diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py index c5ee9b15e..a04c2ca55 100644 --- a/ietf/doc/templatetags/ietf_filters.py +++ b/ietf/doc/templatetags/ietf_filters.py @@ -397,7 +397,7 @@ def has_role(user, role_names): @register.filter def ad_area(user): - if user and user.is_authenticated(): + if user and user.is_authenticated: from ietf.group.models import Group g = Group.objects.filter(role__name__in=("pre-ad", "ad"), role__person__user=user) if g: @@ -428,7 +428,7 @@ def format_snippet(text, trunc_words=25): @register.simple_tag def doc_edit_button(url_name, *args, **kwargs): """Given URL name/args/kwargs, looks up the URL just like "url" tag and returns a properly formatted button for the document material tables.""" - from django.core.urlresolvers import reverse as urlreverse + from django.urls import reverse as urlreverse return mark_safe(u'Edit' % (urlreverse(url_name, args=args, kwargs=kwargs))) @register.filter @@ -447,7 +447,7 @@ def state(doc, slug): @register.filter def statehelp(state): "Output help icon with tooltip for state." - from django.core.urlresolvers import reverse as urlreverse + from django.urls import reverse as urlreverse tooltip = escape(strip_tags(state.desc)) url = urlreverse('ietf.doc.views_help.state_help', kwargs=dict(type=state.type_id)) + "#" + state.slug return mark_safe('?' % (url, tooltip)) diff --git a/ietf/doc/templatetags/managed_groups.py b/ietf/doc/templatetags/managed_groups.py index 100a1e031..a7b893149 100644 --- a/ietf/doc/templatetags/managed_groups.py +++ b/ietf/doc/templatetags/managed_groups.py @@ -6,7 +6,7 @@ register = template.Library() @register.filter def managed_groups(user): - if not (user and hasattr(user, "is_authenticated") and user.is_authenticated()): + if not (user and hasattr(user, "is_authenticated") and user.is_authenticated): return [] groups = [] @@ -26,7 +26,7 @@ def managed_groups(user): @register.filter def managed_review_groups(user): - if not (user and hasattr(user, "is_authenticated") and user.is_authenticated()): + if not (user and hasattr(user, "is_authenticated") and user.is_authenticated): return [] groups = [] diff --git a/ietf/doc/templatetags/streams_menu.py b/ietf/doc/templatetags/streams_menu.py index 7aba27b05..1dd80ca1f 100644 --- a/ietf/doc/templatetags/streams_menu.py +++ b/ietf/doc/templatetags/streams_menu.py @@ -13,7 +13,7 @@ def streams_menu(context): user = context["request"].user if "request" in context else AnonymousUser() - if user.is_authenticated(): + if user.is_authenticated: streams = StreamName.objects.exclude(slug="legacy") if has_role(user, "Secretariat"): diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index a4b629620..09bdaa26a 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -13,7 +13,7 @@ from pyquery import PyQuery from tempfile import NamedTemporaryFile from Cookie import SimpleCookie -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.conf import settings from tastypie.test import ResourceTestCaseMixin diff --git a/ietf/doc/tests_ballot.py b/ietf/doc/tests_ballot.py index 108ebe378..cd0618f7a 100644 --- a/ietf/doc/tests_ballot.py +++ b/ietf/doc/tests_ballot.py @@ -4,7 +4,7 @@ from pyquery import PyQuery import debug # pyflakes:ignore -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.doc.models import ( Document, State, DocEvent, BallotDocEvent, BallotPositionDocEvent, LastCallDocEvent, WriteupDocEvent, TelechatDocEvent ) diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py index 5af95e2ce..e78b5fd15 100644 --- a/ietf/doc/tests_charter.py +++ b/ietf/doc/tests_charter.py @@ -6,7 +6,7 @@ from StringIO import StringIO from pyquery import PyQuery from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/doc/tests_conflict_review.py b/ietf/doc/tests_conflict_review.py index f102d1e0e..b3c1dea79 100644 --- a/ietf/doc/tests_conflict_review.py +++ b/ietf/doc/tests_conflict_review.py @@ -7,7 +7,7 @@ from StringIO import StringIO from textwrap import wrap from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.doc.models import Document, DocEvent, NewRevisionDocEvent, BallotPositionDocEvent, TelechatDocEvent, State from ietf.doc.utils import create_ballot_if_not_open diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index 229679eeb..a21b4d881 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -5,7 +5,7 @@ import datetime import StringIO from pyquery import PyQuery -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.conf import settings import debug # pyflakes:ignore diff --git a/ietf/doc/tests_material.py b/ietf/doc/tests_material.py index 06069fc45..d22f70838 100644 --- a/ietf/doc/tests_material.py +++ b/ietf/doc/tests_material.py @@ -9,7 +9,7 @@ from pyquery import PyQuery import debug # pyflakes:ignore from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.doc.models import Document, State, DocAlias, NewRevisionDocEvent from ietf.group.models import Group diff --git a/ietf/doc/tests_review.py b/ietf/doc/tests_review.py index 4d3270cf4..4c0562fc9 100644 --- a/ietf/doc/tests_review.py +++ b/ietf/doc/tests_review.py @@ -5,7 +5,7 @@ import tarfile, tempfile, mailbox import email.mime.multipart, email.mime.text, email.utils from StringIO import StringIO -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.conf import settings from pyquery import PyQuery diff --git a/ietf/doc/tests_status_change.py b/ietf/doc/tests_status_change.py index fac869e68..a84a6ae73 100644 --- a/ietf/doc/tests_status_change.py +++ b/ietf/doc/tests_status_change.py @@ -7,7 +7,7 @@ from StringIO import StringIO from textwrap import wrap from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.doc.models import ( Document, DocAlias, State, DocEvent, BallotPositionDocEvent, NewRevisionDocEvent, TelechatDocEvent, WriteupDocEvent ) diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py index d3d069592..a91372c8a 100644 --- a/ietf/doc/utils.py +++ b/ietf/doc/utils.py @@ -10,7 +10,7 @@ from collections import defaultdict from django.conf import settings from django.forms import ValidationError from django.utils.html import escape -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore @@ -95,7 +95,7 @@ def get_tags_for_stream_id(stream_id): return [] def can_adopt_draft(user, doc): - if not user.is_authenticated(): + if not user.is_authenticated: return False if has_role(user, "Secretariat"): diff --git a/ietf/doc/utils_charter.py b/ietf/doc/utils_charter.py index fca6adcf3..f4d4fc975 100644 --- a/ietf/doc/utils_charter.py +++ b/ietf/doc/utils_charter.py @@ -1,7 +1,7 @@ import re, datetime, os, shutil from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.template.loader import render_to_string from django.utils.encoding import smart_text diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py index bc8878f51..9d46df1ee 100644 --- a/ietf/doc/views_ballot.py +++ b/ietf/doc/views_ballot.py @@ -5,7 +5,7 @@ import datetime, json from django.http import HttpResponseForbidden, HttpResponseRedirect, Http404 from django.shortcuts import render, get_object_or_404, redirect -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.template.loader import render_to_string from django import forms from django.conf import settings diff --git a/ietf/doc/views_charter.py b/ietf/doc/views_charter.py index f74a126fe..37d70c845 100644 --- a/ietf/doc/views_charter.py +++ b/ietf/doc/views_charter.py @@ -2,7 +2,7 @@ import os, datetime, textwrap, json from django.http import HttpResponseRedirect, HttpResponseNotFound, HttpResponseForbidden, Http404 from django.shortcuts import get_object_or_404, redirect, render -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django import forms from django.utils.safestring import mark_safe from django.conf import settings diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py index 37f75eb52..e56891cca 100644 --- a/ietf/doc/views_conflict_review.py +++ b/ietf/doc/views_conflict_review.py @@ -3,7 +3,7 @@ import datetime, os from django import forms from django.shortcuts import render, get_object_or_404, redirect from django.http import HttpResponseRedirect, Http404 -from django.core.urlresolvers import reverse +from django.urls import reverse from django.template.loader import render_to_string from django.conf import settings diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 3da42be0e..6cf0c7903 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -37,7 +37,7 @@ import os, datetime, urllib, json, glob, re from django.http import HttpResponse, Http404 , HttpResponseForbidden from django.shortcuts import render, get_object_or_404, redirect from django.template.loader import render_to_string -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.conf import settings from django import forms @@ -162,7 +162,7 @@ def document_main(request, name, rev=None): can_edit = has_role(request.user, ("Area Director", "Secretariat")) stream_slugs = StreamName.objects.values_list("slug", flat=True) can_change_stream = bool(can_edit or ( - request.user.is_authenticated() and + request.user.is_authenticated and Role.objects.filter(name__in=("chair", "secr", "auth", "delegate"), group__acronym__in=stream_slugs, person__user=request.user))) @@ -735,7 +735,7 @@ def document_history(request, name): # figure out if the current user can add a comment to the history if doc.type_id == "draft" and doc.group != None: can_add_comment = bool(has_role(request.user, ("Area Director", "Secretariat", "IRTF Chair", "IANA", "RFC Editor")) or ( - request.user.is_authenticated() and + request.user.is_authenticated and Role.objects.filter(name__in=("chair", "secr"), group__acronym=doc.group.acronym, person__user=request.user))) @@ -1023,7 +1023,7 @@ def add_comment(request, name): if doc.type_id == "draft" and doc.group != None: can_add_comment = bool(has_role(request.user, ("Area Director", "Secretariat", "IRTF Chair", "IANA", "RFC Editor")) or ( - request.user.is_authenticated() and + request.user.is_authenticated and Role.objects.filter(name__in=("chair", "secr"), group__acronym=doc.group.acronym, person__user=request.user))) @@ -1150,7 +1150,7 @@ def email_aliases(request,name=''): if not name: # require login for the overview page, but not for the # document-specific pages - if not request.user.is_authenticated(): + if not request.user.is_authenticated: return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path)) aliases = get_doc_email_aliases(name) diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py index 78a1129d4..39a745f2a 100644 --- a/ietf/doc/views_draft.py +++ b/ietf/doc/views_draft.py @@ -222,7 +222,7 @@ def change_stream(request, name): raise Http404 if not (has_role(request.user, ("Area Director", "Secretariat")) or - (request.user.is_authenticated() and + (request.user.is_authenticated and Role.objects.filter(name="chair", group__acronym__in=StreamName.objects.values_list("slug", flat=True), person__user=request.user))): diff --git a/ietf/doc/views_material.py b/ietf/doc/views_material.py index b6ec953db..bfbdf0bc8 100644 --- a/ietf/doc/views_material.py +++ b/ietf/doc/views_material.py @@ -7,7 +7,7 @@ from django.shortcuts import render, get_object_or_404, redirect from django.http import HttpResponseForbidden, Http404 from django.utils.html import mark_safe from django.contrib.auth.decorators import login_required -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/doc/views_review.py b/ietf/doc/views_review.py index 3a39aeb5f..a392bdf8a 100644 --- a/ietf/doc/views_review.py +++ b/ietf/doc/views_review.py @@ -9,7 +9,7 @@ from django.contrib.auth.decorators import login_required from django.utils.html import mark_safe from django.core.exceptions import ValidationError from django.template.loader import render_to_string, TemplateDoesNotExist -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.doc.models import (Document, NewRevisionDocEvent, State, DocAlias, LastCallDocEvent, ReviewRequestDocEvent, DocumentAuthor) diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py index f6c8f8277..b46b7a373 100644 --- a/ietf/doc/views_search.py +++ b/ietf/doc/views_search.py @@ -36,7 +36,7 @@ import datetime from django import forms from django.conf import settings from django.core.cache import cache -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models import Q from django.http import Http404, HttpResponseBadRequest, HttpResponse, HttpResponseRedirect, QueryDict from django.shortcuts import render diff --git a/ietf/doc/views_stats.py b/ietf/doc/views_stats.py index 5b7b33492..639a9bb93 100644 --- a/ietf/doc/views_stats.py +++ b/ietf/doc/views_stats.py @@ -5,7 +5,7 @@ import datetime from django.conf import settings from django.core.cache import cache -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models.aggregates import Count from django.http import JsonResponse, HttpResponseBadRequest from django.shortcuts import render diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index a2a80311b..371a255d0 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -3,7 +3,7 @@ import datetime, os, re from django import forms from django.shortcuts import render, get_object_or_404, redirect from django.http import Http404, HttpResponseRedirect -from django.core.urlresolvers import reverse +from django.urls import reverse from django.template.loader import render_to_string from django.conf import settings diff --git a/ietf/group/feeds.py b/ietf/group/feeds.py index a3332cc1e..3b36b0608 100644 --- a/ietf/group/feeds.py +++ b/ietf/group/feeds.py @@ -2,7 +2,7 @@ from django.contrib.syndication.views import Feed, FeedDoesNotExist from django.utils.feedgenerator import Atom1Feed -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.utils.html import strip_tags from django.template.defaultfilters import truncatewords diff --git a/ietf/group/mails.py b/ietf/group/mails.py index 3924a383b..1a619deb3 100644 --- a/ietf/group/mails.py +++ b/ietf/group/mails.py @@ -6,7 +6,7 @@ import re from django.utils.html import strip_tags from django.utils.text import wrap from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.utils.mail import send_mail, send_mail_text from ietf.mailtrigger.utils import gather_address_lists diff --git a/ietf/group/models.py b/ietf/group/models.py index b3fdd46ba..c49abc37a 100644 --- a/ietf/group/models.py +++ b/ietf/group/models.py @@ -52,7 +52,7 @@ class GroupInfo(models.Model): def about_url(self): # bridge gap between group-type prefixed URLs and /group/ ones - from django.core.urlresolvers import reverse as urlreverse + from django.urls import reverse as urlreverse kwargs = { 'acronym': self.acronym } if self.type_id in ("wg", "rg"): kwargs["group_type"] = self.type_id @@ -89,7 +89,7 @@ class Group(GroupInfo): def has_role(self, user, role_names): if isinstance(role_names, str) or isinstance(role_names, unicode): role_names = [role_names] - return user.is_authenticated() and self.role_set.filter(name__in=role_names, person__user=user).exists() + return user.is_authenticated and self.role_set.filter(name__in=role_names, person__user=user).exists() def is_decendant_of(self, sought_parent): p = self.parent diff --git a/ietf/group/tests.py b/ietf/group/tests.py index 14c9b7ee0..334ee1c24 100644 --- a/ietf/group/tests.py +++ b/ietf/group/tests.py @@ -4,7 +4,7 @@ from unittest import skipIf from pyquery import PyQuery from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models import Q from django.test import Client diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py index d4e05c3a9..86c798fb3 100644 --- a/ietf/group/tests_info.py +++ b/ietf/group/tests_info.py @@ -11,8 +11,8 @@ from tempfile import NamedTemporaryFile import debug # pyflakes:ignore from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse -from django.core.urlresolvers import NoReverseMatch +from django.urls import reverse as urlreverse +from django.urls import NoReverseMatch from django.contrib.auth.models import User from django.utils.html import escape diff --git a/ietf/group/tests_review.py b/ietf/group/tests_review.py index d65957eda..9c7814f18 100644 --- a/ietf/group/tests_review.py +++ b/ietf/group/tests_review.py @@ -2,7 +2,7 @@ import datetime from pyquery import PyQuery -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.utils.test_data import make_test_data, make_review_data from ietf.utils.test_utils import login_testing_unauthorized, TestCase, unicontent, reload_db_objects diff --git a/ietf/group/utils.py b/ietf/group/utils.py index 0380798bc..3a4f195ad 100644 --- a/ietf/group/utils.py +++ b/ietf/group/utils.py @@ -2,7 +2,7 @@ import os from django.shortcuts import get_object_or_404 from django.utils.safestring import mark_safe -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/group/views.py b/ietf/group/views.py index bf46e7136..064b40e4f 100644 --- a/ietf/group/views.py +++ b/ietf/group/views.py @@ -46,7 +46,7 @@ from django.shortcuts import render, redirect, get_object_or_404 from django.template.loader import render_to_string from django.http import HttpResponse, Http404, HttpResponseRedirect from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.views.decorators.cache import cache_page from django.db.models import Q @@ -376,7 +376,7 @@ def group_documents(request, acronym, group_type=None): docs, meta, docs_related, meta_related = prepare_group_documents(request, group, clist) - subscribed = request.user.is_authenticated() and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user) + subscribed = request.user.is_authenticated and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user) context = construct_group_menu_context(request, group, "documents", group_type, { 'docs': docs, @@ -772,7 +772,7 @@ def email_aliases(request, acronym=None, group_type=None): if not acronym: # require login for the overview page, but not for the group-specific # pages - if not request.user.is_authenticated(): + if not request.user.is_authenticated: return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path)) aliases = get_group_email_aliases(acronym, group_type) diff --git a/ietf/group/views_ajax.py b/ietf/group/views_ajax.py index fd16eb92e..fd30f5cb5 100644 --- a/ietf/group/views_ajax.py +++ b/ietf/group/views_ajax.py @@ -3,7 +3,7 @@ from collections import defaultdict from django.http import HttpResponse, JsonResponse from django.shortcuts import get_object_or_404 -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.utils.html import escape from django.views.decorators.cache import cache_page, cache_control diff --git a/ietf/group/views_review.py b/ietf/group/views_review.py index 6b52a4c14..c5dff6d4a 100644 --- a/ietf/group/views_review.py +++ b/ietf/group/views_review.py @@ -6,7 +6,7 @@ import debug # pyflakes:ignore from django.shortcuts import render, redirect, get_object_or_404 from django.http import Http404, HttpResponseForbidden, HttpResponseRedirect from django.contrib.auth.decorators import login_required -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models import Max from django import forms from django.template.loader import render_to_string diff --git a/ietf/help/models.py b/ietf/help/models.py index b1cfe267e..b7db25411 100644 --- a/ietf/help/models.py +++ b/ietf/help/models.py @@ -1 +1 @@ -# Empty \ No newline at end of file +# Empty diff --git a/ietf/help/tests_views.py b/ietf/help/tests_views.py index 6f03e433e..2d6207ea2 100644 --- a/ietf/help/tests_views.py +++ b/ietf/help/tests_views.py @@ -1,6 +1,6 @@ from pyquery import PyQuery -from django.core.urlresolvers import reverse +from django.urls import reverse import debug # pyflakes:ignore diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py index 920201280..aa7d976f9 100644 --- a/ietf/iesg/tests.py +++ b/ietf/iesg/tests.py @@ -5,7 +5,7 @@ import json import datetime from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from pyquery import PyQuery diff --git a/ietf/ietfauth/forms.py b/ietf/ietfauth/forms.py index 8bf9cd63f..d6ef9ff97 100644 --- a/ietf/ietfauth/forms.py +++ b/ietf/ietfauth/forms.py @@ -7,7 +7,7 @@ from django.core.exceptions import ValidationError from django.db import models from django.contrib.auth.models import User from django.utils.html import mark_safe -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django_password_strength.widgets import PasswordStrengthInput, PasswordConfirmationInput diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py index 363d140a2..642603163 100644 --- a/ietf/ietfauth/tests.py +++ b/ietf/ietfauth/tests.py @@ -7,7 +7,7 @@ from pyquery import PyQuery from unittest import skipIf import django.contrib.auth.views -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.contrib.auth.models import User from django.conf import settings diff --git a/ietf/ietfauth/utils.py b/ietf/ietfauth/utils.py index 560cf376e..3be74cd08 100644 --- a/ietf/ietfauth/utils.py +++ b/ietf/ietfauth/utils.py @@ -14,7 +14,7 @@ from ietf.person.models import Person def user_is_person(user, person): """Test whether user is associated with person.""" - if not user.is_authenticated() or not person: + if not user.is_authenticated or not person: return False if person.user_id == None: @@ -29,7 +29,7 @@ def has_role(user, role_names, *args, **kwargs): if isinstance(role_names, str) or isinstance(role_names, unicode): role_names = [ role_names ] - if not user or not user.is_authenticated(): + if not user or not user.is_authenticated: return False # use cache to avoid checking the same permissions again and again @@ -93,7 +93,7 @@ def passes_test_decorator(test_func, message): def decorate(view_func): @wraps(view_func, assigned=available_attrs(view_func)) def inner(request, *args, **kwargs): - if not request.user.is_authenticated(): + if not request.user.is_authenticated: return HttpResponseRedirect('%s?%s=%s' % (settings.LOGIN_URL, REDIRECT_FIELD_NAME, urlquote(request.get_full_path()))) elif test_func(request.user, *args, **kwargs): return view_func(request, *args, **kwargs) @@ -117,7 +117,7 @@ def is_authorized_in_doc_stream(user, doc): if has_role(user, ["Secretariat"]): return True - if not user.is_authenticated(): + if not user.is_authenticated: return False # must be authorized in the stream or group diff --git a/ietf/ietfauth/views.py b/ietf/ietfauth/views.py index 35b184fb0..0835e9179 100644 --- a/ietf/ietfauth/views.py +++ b/ietf/ietfauth/views.py @@ -48,7 +48,7 @@ from django.contrib.auth.hashers import identify_hasher from django.contrib.auth.models import User from django.contrib.auth.views import login as django_login from django.contrib.sites.models import Site -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.http import Http404, HttpResponseRedirect #, HttpResponse, from django.shortcuts import render, redirect, get_object_or_404 @@ -81,7 +81,7 @@ def index(request): # @login_required # def ietf_login(request): -# if not request.user.is_authenticated(): +# if not request.user.is_authenticated: # return HttpResponse("Not authenticated?", status=500) # # redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '') diff --git a/ietf/ipr/feeds.py b/ietf/ipr/feeds.py index 2e9a6f01f..0da26c542 100644 --- a/ietf/ipr/feeds.py +++ b/ietf/ipr/feeds.py @@ -2,7 +2,7 @@ from django.contrib.syndication.views import Feed from django.utils.feedgenerator import Atom1Feed -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from django.utils.safestring import mark_safe from ietf.ipr.models import IprDisclosureBase diff --git a/ietf/ipr/fields.py b/ietf/ipr/fields.py index a93965ea0..271b1a5eb 100644 --- a/ietf/ipr/fields.py +++ b/ietf/ipr/fields.py @@ -2,7 +2,7 @@ import json from django.utils.html import escape from django import forms -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.ipr.models import IprDisclosureBase diff --git a/ietf/ipr/models.py b/ietf/ipr/models.py index 9822cb2a0..7bde39974 100644 --- a/ietf/ipr/models.py +++ b/ietf/ipr/models.py @@ -3,7 +3,7 @@ import datetime from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db import models from ietf.doc.models import DocAlias diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py index 3acbee4af..03596953a 100644 --- a/ietf/ipr/tests.py +++ b/ietf/ipr/tests.py @@ -3,7 +3,7 @@ import urllib from pyquery import PyQuery -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/ipr/urls.py b/ietf/ipr/urls.py index fd981a731..476a9f6a7 100644 --- a/ietf/ipr/urls.py +++ b/ietf/ipr/urls.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2007, All Rights Reserved from django.views.generic import RedirectView -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from ietf.ipr import views from ietf.utils.urls import url diff --git a/ietf/ipr/utils.py b/ietf/ipr/utils.py index 016445733..419fa6ba9 100644 --- a/ietf/ipr/utils.py +++ b/ietf/ipr/utils.py @@ -42,4 +42,4 @@ def related_docs(alias): x.related = rel x.relation = rel.relationship.revname results += rel_aliases - return list(set(results)) \ No newline at end of file + return list(set(results)) diff --git a/ietf/ipr/views.py b/ietf/ipr/views.py index 9cead7506..f1709c4c3 100644 --- a/ietf/ipr/views.py +++ b/ietf/ipr/views.py @@ -5,7 +5,7 @@ import itertools from django.conf import settings from django.contrib import messages -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models import Q from django.forms.models import inlineformset_factory from django.forms.formsets import formset_factory diff --git a/ietf/liaisons/admin.py b/ietf/liaisons/admin.py index acb09ebaf..bcbd64fee 100644 --- a/ietf/liaisons/admin.py +++ b/ietf/liaisons/admin.py @@ -1,5 +1,5 @@ from django.contrib import admin -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.liaisons.models import ( LiaisonStatement, LiaisonStatementEvent, LiaisonStatementGroupContacts, RelatedLiaisonStatement, LiaisonStatementAttachment ) diff --git a/ietf/liaisons/feeds.py b/ietf/liaisons/feeds.py index a5e85ced4..adbde6c40 100644 --- a/ietf/liaisons/feeds.py +++ b/ietf/liaisons/feeds.py @@ -6,7 +6,7 @@ from django.contrib.syndication.views import Feed, FeedDoesNotExist from django.utils.feedgenerator import Atom1Feed from django.template.loader import render_to_string from django.db.models import Q -from django.core.urlresolvers import reverse as urlreverse, reverse_lazy +from django.urls import reverse as urlreverse, reverse_lazy from ietf.group.models import Group from ietf.liaisons.models import LiaisonStatement diff --git a/ietf/liaisons/fields.py b/ietf/liaisons/fields.py index e83b1063b..8a5c74828 100644 --- a/ietf/liaisons/fields.py +++ b/ietf/liaisons/fields.py @@ -2,7 +2,7 @@ import json from django.utils.html import escape from django import forms -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.liaisons.models import LiaisonStatement diff --git a/ietf/liaisons/management/commands/check_liaison_deadlines.py b/ietf/liaisons/management/commands/check_liaison_deadlines.py index aebadb46f..3f7ae0dcb 100644 --- a/ietf/liaisons/management/commands/check_liaison_deadlines.py +++ b/ietf/liaisons/management/commands/check_liaison_deadlines.py @@ -19,4 +19,4 @@ class Command(BaseCommand): if r: msgs.append('Liaison %05s#: Deadline reminder sent!' % l.pk) - return '\n'.join(msgs) \ No newline at end of file + return '\n'.join(msgs) diff --git a/ietf/liaisons/management/commands/remind_update_sdo_list.py b/ietf/liaisons/management/commands/remind_update_sdo_list.py index a33b069b4..44e660d3d 100644 --- a/ietf/liaisons/management/commands/remind_update_sdo_list.py +++ b/ietf/liaisons/management/commands/remind_update_sdo_list.py @@ -37,4 +37,4 @@ def send_reminders_to_sdos(sdo_pk=None): msg = u'%05s#: %s mail sent!' % (sdo.pk, sdo.name) msgs.append(msg) - return msgs \ No newline at end of file + return msgs diff --git a/ietf/liaisons/migrations/0005_migrate_groups.py b/ietf/liaisons/migrations/0005_migrate_groups.py index f595ad164..c96d29706 100644 --- a/ietf/liaisons/migrations/0005_migrate_groups.py +++ b/ietf/liaisons/migrations/0005_migrate_groups.py @@ -789,4 +789,4 @@ DEFAULT_POC = { 'maawg':'Mike Adkins ,technical-chair@mailman.m3aawg.org', 'ecma-tc39':'John Neuman ,Istvan Sebestyen ', } - \ No newline at end of file + diff --git a/ietf/liaisons/models.py b/ietf/liaisons/models.py index e501a9fea..4633bc419 100644 --- a/ietf/liaisons/models.py +++ b/ietf/liaisons/models.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2007, All Rights Reserved from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db import models from django.utils.text import slugify diff --git a/ietf/liaisons/tests.py b/ietf/liaisons/tests.py index 75f491e2d..93272fc51 100644 --- a/ietf/liaisons/tests.py +++ b/ietf/liaisons/tests.py @@ -3,7 +3,7 @@ import json from django.conf import settings from django.contrib.auth.models import User -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models import Q from StringIO import StringIO from pyquery import PyQuery diff --git a/ietf/liaisons/utils.py b/ietf/liaisons/utils.py index f797c22b8..df4883191 100644 --- a/ietf/liaisons/utils.py +++ b/ietf/liaisons/utils.py @@ -34,7 +34,7 @@ def can_edit_liaison(user, liaison): - liaison is outgoing and user has approval authority - user is liaison manager of all SDOs involved ''' - if not user.is_authenticated(): + if not user.is_authenticated: return False if has_role(user, "Secretariat"): return True diff --git a/ietf/liaisons/views.py b/ietf/liaisons/views.py index 9d84cbdf5..6817627e8 100644 --- a/ietf/liaisons/views.py +++ b/ietf/liaisons/views.py @@ -3,7 +3,7 @@ import json from email.utils import parseaddr from django.contrib import messages -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.core.validators import validate_email, ValidationError from django.db.models import Q, Prefetch from django.http import HttpResponse, HttpResponseForbidden @@ -36,7 +36,7 @@ EMAIL_ALIASES = { # ------------------------------------------------- def _can_reply(liaison, user): '''Returns true if the user can send a reply to this liaison''' - if user.is_authenticated(): + if user.is_authenticated: person = get_person_for_user(user) if has_role(user, "Secretariat"): return True @@ -51,7 +51,7 @@ def _can_take_care(liaison, user): if not liaison.deadline or liaison.action_taken: return False - if user.is_authenticated(): + if user.is_authenticated: if has_role(user, "Secretariat"): return True else: diff --git a/ietf/liaisons/widgets.py b/ietf/liaisons/widgets.py index 05772aff1..ea281cc40 100644 --- a/ietf/liaisons/widgets.py +++ b/ietf/liaisons/widgets.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.db.models.query import QuerySet from django.forms.widgets import Widget from django.utils.safestring import mark_safe diff --git a/ietf/mailinglists/tests.py b/ietf/mailinglists/tests.py index 8e32972a5..0796c106f 100644 --- a/ietf/mailinglists/tests.py +++ b/ietf/mailinglists/tests.py @@ -1,6 +1,6 @@ # Copyright The IETF Trust 2016, All Rights Reserved -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from pyquery import PyQuery diff --git a/ietf/mailtrigger/tests.py b/ietf/mailtrigger/tests.py index 6a319021f..0a68ff807 100644 --- a/ietf/mailtrigger/tests.py +++ b/ietf/mailtrigger/tests.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.utils.test_utils import TestCase, unicontent from ietf.utils.test_data import make_test_data diff --git a/ietf/mailtrigger/urls.py b/ietf/mailtrigger/urls.py index 918c90f34..bb5509c98 100644 --- a/ietf/mailtrigger/urls.py +++ b/ietf/mailtrigger/urls.py @@ -1,5 +1,5 @@ from django.views.generic import RedirectView -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from ietf.mailtrigger import views from ietf.utils.urls import url diff --git a/ietf/meeting/ajax.py b/ietf/meeting/ajax.py index d4fa59115..32e97dbd1 100644 --- a/ietf/meeting/ajax.py +++ b/ietf/meeting/ajax.py @@ -281,7 +281,7 @@ def agenda_update(request, meeting, schedule): user = request.user - if not user.is_authenticated(): + if not user.is_authenticated: return HttpResponse({'error':'no permission'}, status=403) cansee,canedit,secretariat = agenda_permissions(meeting, schedule, request.user) diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py index 143a65351..89d9eaadd 100644 --- a/ietf/meeting/helpers.py +++ b/ietf/meeting/helpers.py @@ -9,7 +9,7 @@ from django.http import HttpRequest, Http404 from django.db.models import Max, Q, Prefetch, F from django.conf import settings from django.core.cache import cache -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.cache import get_cache_key from django.shortcuts import get_object_or_404 from django.template.loader import render_to_string diff --git a/ietf/meeting/tests_api.py b/ietf/meeting/tests_api.py index c59ef8a01..39e55e439 100644 --- a/ietf/meeting/tests_api.py +++ b/ietf/meeting/tests_api.py @@ -2,7 +2,7 @@ import datetime import json from urlparse import urlsplit -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/meeting/tests_js.py b/ietf/meeting/tests_js.py index c0f411061..230c960f9 100644 --- a/ietf/meeting/tests_js.py +++ b/ietf/meeting/tests_js.py @@ -6,7 +6,7 @@ from pyquery import PyQuery from unittest import skipIf from django.contrib.staticfiles.testing import StaticLiveServerTestCase -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse #from django.test.utils import override_settings import debug # pyflakes:ignore diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 6511eb238..f1d3825c0 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -7,7 +7,7 @@ import random import debug # pyflakes:ignore -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.conf import settings from django.contrib.auth.models import User diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 46b23d63e..ba3c52457 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -21,7 +21,7 @@ from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404 from django.contrib import messages from django.contrib.auth.decorators import login_required -from django.core.urlresolvers import reverse,reverse_lazy +from django.urls import reverse,reverse_lazy from django.db.models import Min, Max, Q from django.conf import settings from django.forms.models import modelform_factory, inlineformset_factory diff --git a/ietf/message/tests.py b/ietf/message/tests.py index 28616b2f2..7bf3c9d8c 100644 --- a/ietf/message/tests.py +++ b/ietf/message/tests.py @@ -1,6 +1,6 @@ import datetime -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.utils.test_utils import TestCase, unicontent from ietf.utils.test_data import make_test_data diff --git a/ietf/middleware.py b/ietf/middleware.py index 8816fbb69..5773b0b1f 100644 --- a/ietf/middleware.py +++ b/ietf/middleware.py @@ -53,4 +53,4 @@ def unicode_nfkc_normalization_middleware(get_response): response = get_response(request) return response return unicode_nfkc_normalization - \ No newline at end of file + diff --git a/ietf/nomcom/decorators.py b/ietf/nomcom/decorators.py index 09484815d..231661799 100644 --- a/ietf/nomcom/decorators.py +++ b/ietf/nomcom/decorators.py @@ -1,6 +1,6 @@ import functools -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import HttpResponseRedirect from django.utils.http import urlquote diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py index b86b7bdd6..3bdf768ca 100644 --- a/ietf/nomcom/forms.py +++ b/ietf/nomcom/forms.py @@ -4,7 +4,7 @@ from formtools.preview import FormPreview, AUTO_ID from django.shortcuts import get_object_or_404, redirect from django.utils.decorators import method_decorator from django.shortcuts import render -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.html import mark_safe from ietf.dbtemplate.forms import DBTemplateForm diff --git a/ietf/nomcom/tests.py b/ietf/nomcom/tests.py index ac6e9f301..6922e8da9 100644 --- a/ietf/nomcom/tests.py +++ b/ietf/nomcom/tests.py @@ -10,7 +10,7 @@ import StringIO from django.db import IntegrityError from django.db.models import Max from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from django.core.files import File from django.contrib.auth.models import User diff --git a/ietf/nomcom/utils.py b/ietf/nomcom/utils.py index 7955f3dfc..28172df7f 100644 --- a/ietf/nomcom/utils.py +++ b/ietf/nomcom/utils.py @@ -11,7 +11,7 @@ from email import message_from_string from django.conf import settings from django.contrib.sites.models import Site from django.core.exceptions import ObjectDoesNotExist -from django.core.urlresolvers import reverse +from django.urls import reverse from django.template.loader import render_to_string from django.shortcuts import get_object_or_404 from django.utils.encoding import smart_str diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py index 7d404de2f..e7a156ce5 100644 --- a/ietf/nomcom/views.py +++ b/ietf/nomcom/views.py @@ -6,7 +6,7 @@ from django.conf import settings from django.contrib.auth.decorators import login_required from django.contrib.auth.models import AnonymousUser from django.contrib import messages -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import Http404, HttpResponseRedirect, HttpResponseForbidden from django.shortcuts import render, get_object_or_404, redirect from django.template.loader import render_to_string diff --git a/ietf/person/fields.py b/ietf/person/fields.py index c813973d3..3400e6cdb 100644 --- a/ietf/person/fields.py +++ b/ietf/person/fields.py @@ -6,7 +6,7 @@ from urllib import urlencode from django.utils.html import escape from django import forms -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/person/tests.py b/ietf/person/tests.py index 2091a2600..ab292f5e3 100644 --- a/ietf/person/tests.py +++ b/ietf/person/tests.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import json from pyquery import PyQuery -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/release/tests.py b/ietf/release/tests.py index 3b9b41087..e4981ecee 100644 --- a/ietf/release/tests.py +++ b/ietf/release/tests.py @@ -1,6 +1,6 @@ from pyquery import PyQuery -from django.core.urlresolvers import reverse +from django.urls import reverse import debug # pyflakes:ignore diff --git a/ietf/review/utils.py b/ietf/review/utils.py index 8f05bf142..cb1a36d0e 100644 --- a/ietf/review/utils.py +++ b/ietf/review/utils.py @@ -2,7 +2,7 @@ import datetime, re, itertools from collections import defaultdict, namedtuple from django.db.models import Q, Max, F -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.contrib.sites.models import Site import debug # pyflakes:ignore @@ -27,7 +27,7 @@ def close_review_request_states(): return ReviewRequestStateName.objects.filter(used=True).exclude(slug__in=["requested", "accepted", "rejected", "part-completed", "completed"]) def can_request_review_of_doc(user, doc): - if not user.is_authenticated(): + if not user.is_authenticated: return False if doc.type_id == 'draft' and doc.get_state_slug() != 'active': @@ -37,14 +37,14 @@ def can_request_review_of_doc(user, doc): or Role.objects.filter(person__user=user, name="secr", group__in=active_review_teams()).exists()) def can_manage_review_requests_for_team(user, team, allow_personnel_outside_team=True): - if not user.is_authenticated(): + if not user.is_authenticated: return False return (Role.objects.filter(name="secr", person__user=user, group=team).exists() or (allow_personnel_outside_team and has_role(user, "Secretariat"))) def can_access_review_stats_for_team(user, team): - if not user.is_authenticated(): + if not user.is_authenticated: return False return (Role.objects.filter(name__in=("secr", "reviewer"), person__user=user, group=team).exists() diff --git a/ietf/secr/announcement/tests.py b/ietf/secr/announcement/tests.py index f3a8cb73b..d9a5948f2 100644 --- a/ietf/secr/announcement/tests.py +++ b/ietf/secr/announcement/tests.py @@ -1,5 +1,5 @@ from django.db import connection -from django.core.urlresolvers import reverse +from django.urls import reverse from pyquery import PyQuery diff --git a/ietf/secr/areas/tests.py b/ietf/secr/areas/tests.py index 5854fbc14..dcc909132 100644 --- a/ietf/secr/areas/tests.py +++ b/ietf/secr/areas/tests.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.group.models import Group, GroupEvent from ietf.person.models import Person diff --git a/ietf/secr/drafts/reports.py b/ietf/secr/drafts/reports.py index 12097a3d4..3e2edfeda 100644 --- a/ietf/secr/drafts/reports.py +++ b/ietf/secr/drafts/reports.py @@ -100,4 +100,4 @@ def report_progress_report(start_date,end_date): report = render_to_string('drafts/report_progress_report.txt', context) - return report \ No newline at end of file + return report diff --git a/ietf/secr/drafts/tests_views.py b/ietf/secr/drafts/tests_views.py index 103832884..54a965462 100644 --- a/ietf/secr/drafts/tests_views.py +++ b/ietf/secr/drafts/tests_views.py @@ -3,7 +3,7 @@ import shutil from StringIO import StringIO from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/secr/groups/tests.py b/ietf/secr/groups/tests.py index d611f1e86..fbc2ea2e3 100644 --- a/ietf/secr/groups/tests.py +++ b/ietf/secr/groups/tests.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.utils.test_utils import TestCase from ietf.group.models import Group from ietf.person.models import Person diff --git a/ietf/secr/meetings/models.py b/ietf/secr/meetings/models.py index 40489d329..f469be449 100644 --- a/ietf/secr/meetings/models.py +++ b/ietf/secr/meetings/models.py @@ -50,4 +50,4 @@ class NonSession(models.Model): db_table = 'non_session' verbose_name = "Meeting non-session slot" -""" \ No newline at end of file +""" diff --git a/ietf/secr/meetings/tests.py b/ietf/secr/meetings/tests.py index b0b190719..fbcc499d7 100644 --- a/ietf/secr/meetings/tests.py +++ b/ietf/secr/meetings/tests.py @@ -7,7 +7,7 @@ from StringIO import StringIO import debug # pyflakes:ignore from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.group.models import Group, GroupEvent from ietf.meeting.models import Meeting, Room, TimeSlot, SchedTimeSessAssignment diff --git a/ietf/secr/meetings/views.py b/ietf/secr/meetings/views.py index 9eeb0bb7b..c75ad3700 100644 --- a/ietf/secr/meetings/views.py +++ b/ietf/secr/meetings/views.py @@ -5,7 +5,7 @@ import time from django.conf import settings from django.contrib import messages -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db.models import Max from django.forms.formsets import formset_factory from django.forms.models import inlineformset_factory diff --git a/ietf/secr/proceedings/tests.py b/ietf/secr/proceedings/tests.py index 3b64ddc87..b41d6bea7 100644 --- a/ietf/secr/proceedings/tests.py +++ b/ietf/secr/proceedings/tests.py @@ -3,7 +3,7 @@ import os import shutil from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.doc.models import Document from ietf.group.models import Group diff --git a/ietf/secr/proceedings/views.py b/ietf/secr/proceedings/views.py index 2c72bf467..999051eb9 100644 --- a/ietf/secr/proceedings/views.py +++ b/ietf/secr/proceedings/views.py @@ -7,7 +7,7 @@ import debug # pyflakes:ignore from django.conf import settings from django.contrib import messages -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db.models import Max from django.http import HttpResponseRedirect from django.shortcuts import render, get_object_or_404, redirect diff --git a/ietf/secr/roles/tests.py b/ietf/secr/roles/tests.py index 7131680ce..7bd041966 100644 --- a/ietf/secr/roles/tests.py +++ b/ietf/secr/roles/tests.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.utils.test_utils import TestCase from ietf.group.models import Group diff --git a/ietf/secr/roles/views.py b/ietf/secr/roles/views.py index 2ddffd0df..5c4842f2b 100644 --- a/ietf/secr/roles/views.py +++ b/ietf/secr/roles/views.py @@ -1,5 +1,5 @@ from django.contrib import messages -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import HttpResponseRedirect from django.shortcuts import render, get_object_or_404 diff --git a/ietf/secr/rolodex/tests.py b/ietf/secr/rolodex/tests.py index 975f3aac2..fbcb3a3f9 100644 --- a/ietf/secr/rolodex/tests.py +++ b/ietf/secr/rolodex/tests.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.utils.test_utils import TestCase from ietf.person.models import Person diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index 3eef527c1..982ac9c2f 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse +from django.urls import reverse import debug # pyflakes:ignore diff --git a/ietf/secr/telechat/tests.py b/ietf/secr/telechat/tests.py index 11a4aee74..97126d7e9 100644 --- a/ietf/secr/telechat/tests.py +++ b/ietf/secr/telechat/tests.py @@ -1,6 +1,6 @@ import datetime -from django.core.urlresolvers import reverse +from django.urls import reverse from ietf.utils.test_utils import TestCase from ietf.iesg.models import TelechatDate diff --git a/ietf/secr/utils/decorators.py b/ietf/secr/utils/decorators.py index 722cd630b..4833630d2 100644 --- a/ietf/secr/utils/decorators.py +++ b/ietf/secr/utils/decorators.py @@ -47,7 +47,7 @@ def check_permissions(func): meeting_id, slide_id """ def wrapper(request, *args, **kwargs): - if not request.user.is_authenticated(): + if not request.user.is_authenticated: return HttpResponseRedirect('%s?%s=%s' % (settings.LOGIN_URL, REDIRECT_FIELD_NAME, urlquote(request.get_full_path()))) session = None diff --git a/ietf/secr/utils/test.py b/ietf/secr/utils/test.py index 191b3a986..eed4909f8 100644 --- a/ietf/secr/utils/test.py +++ b/ietf/secr/utils/test.py @@ -17,4 +17,4 @@ def copy_roles(person): me.role_set.all().delete() for role in person.role_set.all(): Role.objects.create(person=me,email_id='rcross@amsl.com',name=role.name,group=role.group) - print me.role_set.all() \ No newline at end of file + print me.role_set.all() diff --git a/ietf/stats/tests.py b/ietf/stats/tests.py index 5852f3577..57d0faa28 100644 --- a/ietf/stats/tests.py +++ b/ietf/stats/tests.py @@ -1,6 +1,6 @@ from pyquery import PyQuery -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.utils.test_data import make_test_data, make_review_data from ietf.utils.test_utils import login_testing_unauthorized, TestCase diff --git a/ietf/stats/views.py b/ietf/stats/views.py index 57c9cf5bf..e161a408c 100644 --- a/ietf/stats/views.py +++ b/ietf/stats/views.py @@ -2,7 +2,7 @@ import datetime, itertools, json, calendar from django.shortcuts import render from django.contrib.auth.decorators import login_required -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.http import HttpResponseRedirect, HttpResponseForbidden import dateutil.relativedelta diff --git a/ietf/submit/admin.py b/ietf/submit/admin.py index cd6e51e57..194c0d1e0 100644 --- a/ietf/submit/admin.py +++ b/ietf/submit/admin.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.contrib import admin diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py index ce1dbf3df..0491f0442 100644 --- a/ietf/submit/forms.py +++ b/ietf/submit/forms.py @@ -10,7 +10,7 @@ from unidecode import unidecode from django import forms from django.conf import settings from django.utils.html import mark_safe -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py index 76bece2df..505459566 100644 --- a/ietf/submit/mail.py +++ b/ietf/submit/mail.py @@ -6,7 +6,7 @@ import os import pyzmail from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.core.validators import ValidationError from django.contrib.sites.models import Site from django.template.loader import render_to_string @@ -97,7 +97,7 @@ def send_manual_post_request(request, submission, errors): def announce_to_lists(request, submission): m = Message() m.by = Person.objects.get(name="(System)") - if request.user.is_authenticated(): + if request.user.is_authenticated: try: m.by = request.user.person except Person.DoesNotExist: diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index e714d5774..78a781656 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -8,7 +8,7 @@ from StringIO import StringIO from pyquery import PyQuery from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse import debug # pyflakes:ignore diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index 84878359d..62758c20a 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -108,7 +108,7 @@ def validate_submission_document_date(submission_date, document_date): def create_submission_event(request, submission, desc): by = None - if request and request.user.is_authenticated(): + if request and request.user.is_authenticated: try: by = request.user.person except Person.DoesNotExist: @@ -324,7 +324,7 @@ def update_replaces_from_submission(request, submission, draft): is_secretariat = has_role(request.user, "Secretariat") is_chair_of = [] - if request.user.is_authenticated(): + if request.user.is_authenticated: is_chair_of = list(Group.objects.filter(role__person__user=request.user, role__name="chair")) replaces = DocAlias.objects.filter(name__in=submission.replaces.split(",")).select_related("document", "document__group") @@ -355,7 +355,7 @@ def update_replaces_from_submission(request, submission, draft): try: - by = request.user.person if request.user.is_authenticated() else Person.objects.get(name="(System)") + by = request.user.person if request.user.is_authenticated else Person.objects.get(name="(System)") except Person.DoesNotExist: by = Person.objects.get(name="(System)") set_replaces_for_document(request, draft, existing_replaces + approved, by, @@ -487,7 +487,7 @@ def remove_submission_files(submission): os.unlink(source) def approvable_submissions_for_user(user): - if not user.is_authenticated(): + if not user.is_authenticated: return [] res = Submission.objects.filter(state="grp-appr").order_by('-submission_date') @@ -498,7 +498,7 @@ def approvable_submissions_for_user(user): return res.filter(group__role__name="chair", group__role__person__user=user) def preapprovals_for_user(user): - if not user.is_authenticated(): + if not user.is_authenticated: return [] posted = Submission.objects.distinct().filter(state="posted").values_list('name', flat=True) @@ -513,7 +513,7 @@ def preapprovals_for_user(user): return res def recently_approved_by_user(user, since): - if not user.is_authenticated(): + if not user.is_authenticated: return [] res = Submission.objects.distinct().filter(state="posted", submission_date__gte=since, rev="00").order_by('-submission_date') diff --git a/ietf/submit/views.py b/ietf/submit/views.py index 5969ddb6a..99f043260 100644 --- a/ietf/submit/views.py +++ b/ietf/submit/views.py @@ -6,7 +6,7 @@ import xml2rfc from django.conf import settings from django.contrib import messages -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.core.validators import validate_email, ValidationError from django.http import HttpResponseRedirect, Http404, HttpResponseForbidden, HttpResponse from django.shortcuts import get_object_or_404, redirect, render diff --git a/ietf/sync/mails.py b/ietf/sync/mails.py index 480fd1b40..a58894e3d 100644 --- a/ietf/sync/mails.py +++ b/ietf/sync/mails.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from django.conf import settings from ietf.utils.mail import send_mail diff --git a/ietf/sync/tests.py b/ietf/sync/tests.py index 7a220b3d1..534afb25a 100644 --- a/ietf/sync/tests.py +++ b/ietf/sync/tests.py @@ -6,7 +6,7 @@ import StringIO import shutil from django.conf import settings -from django.core.urlresolvers import reverse as urlreverse +from django.urls import reverse as urlreverse from ietf.doc.models import Document, DocAlias, DocEvent, DeletedEvent, DocTagName, RelatedDocument, State, StateDocEvent from ietf.doc.utils import add_state_change_event diff --git a/ietf/sync/views.py b/ietf/sync/views.py index 733f76c4d..0439f2a7a 100644 --- a/ietf/sync/views.py +++ b/ietf/sync/views.py @@ -49,7 +49,7 @@ def notify(request, org, notification): if settings.SERVER_MODE == "production" and not request.is_secure(): return HttpResponseForbidden("You must use HTTPS when sending username/password") - if not user.is_authenticated(): + if not user.is_authenticated: try: user = User.objects.get(username=username) except User.DoesNotExist: diff --git a/ietf/utils/html.py b/ietf/utils/html.py index 0aa8bd10f..1afc77626 100644 --- a/ietf/utils/html.py +++ b/ietf/utils/html.py @@ -5,7 +5,7 @@ import html5lib import bleach from html5lib import sanitizer, serializer, tokenizer, treebuilders, treewalkers -from django.utils.functional import allow_lazy +from django.utils.functional import keep_lazy from django.utils import six acceptable_elements = ('a', 'abbr', 'acronym', 'address', 'b', 'big', @@ -67,7 +67,7 @@ def remove_tags(html, tags): """Returns the given HTML sanitized, and with the given tags removed.""" allowed = set(acceptable_elements) - set([ t.lower() for t in tags ]) return bleach.clean(html, tags=allowed) -remove_tags = allow_lazy(remove_tags, six.text_type) +remove_tags = keep_lazy(remove_tags, six.text_type) def clean_html(html): return bleach.clean(html) diff --git a/ietf/utils/test_runner.py b/ietf/utils/test_runner.py index ed7e70e94..96d366e5f 100644 --- a/ietf/utils/test_runner.py +++ b/ietf/utils/test_runner.py @@ -56,7 +56,7 @@ from django.template import TemplateDoesNotExist from django.template.loaders.base import Loader as BaseLoader from django.test.runner import DiscoverRunner from django.core.management import call_command -from django.core.urlresolvers import RegexURLResolver +from django.urls import RegexURLResolver import debug # pyflakes:ignore debug.debug = True diff --git a/ietf/utils/tests_restapi.py b/ietf/utils/tests_restapi.py index bc27ac68a..c3b683e91 100644 --- a/ietf/utils/tests_restapi.py +++ b/ietf/utils/tests_restapi.py @@ -3,7 +3,7 @@ from __future__ import print_function import debug debug.debug = True -from django.core.urlresolvers import reverse +from django.urls import reverse from tastypie.test import ResourceTestCaseMixin diff --git a/ietf/utils/text.py b/ietf/utils/text.py index f9211d21e..f83868ba5 100644 --- a/ietf/utils/text.py +++ b/ietf/utils/text.py @@ -4,7 +4,7 @@ import re import unicodedata import textwrap -from django.utils.functional import allow_lazy +from django.utils.functional import keep_lazy from django.utils import six from django.utils.safestring import mark_safe @@ -18,7 +18,7 @@ def xslugify(value): value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore').decode('ascii') value = re.sub('[^\w\s/-]', '', value).strip().lower() return mark_safe(re.sub('[-\s/]+', '-', value)) -xslugify = allow_lazy(xslugify, six.text_type) +xslugify = keep_lazy(xslugify, six.text_type) def strip_prefix(text, prefix): if text.startswith(prefix):