From e9a37d8ac8a04fdc4575be9d83a7b32a20debc36 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 5 Mar 2020 14:41:41 +0000 Subject: [PATCH 1/5] Removed six.text_type(), changed six.moves.urllib to plain urllib, and removed now unused six imports. - Legacy-Id: 17385 --- ietf/api/serializer.py | 5 +- ietf/bin/rfc-editor-index-updates | 2 +- ietf/bin/rfc-editor-queue-updates | 2 +- ietf/checks.py | 4 +- ietf/community/views.py | 5 +- ietf/doc/feeds.py | 5 +- ietf/doc/fields.py | 4 +- ietf/doc/mails.py | 3 +- ietf/doc/templatetags/ietf_filters.py | 17 ++++--- ietf/doc/views_doc.py | 3 +- ietf/group/tests_info.py | 3 +- ietf/group/tests_review.py | 3 +- ietf/group/views.py | 3 +- ietf/idindex/index.py | 5 +- ietf/idindex/tests.py | 5 +- ietf/iesg/views.py | 7 ++- ietf/ipr/fields.py | 4 +- ietf/ipr/views.py | 7 ++- ietf/liaisons/fields.py | 4 +- ietf/liaisons/forms.py | 6 +-- ietf/meeting/models.py | 7 +-- ietf/meeting/tests_views.py | 26 +++++----- ietf/meeting/utils.py | 6 +-- ietf/meeting/views.py | 5 +- ietf/nomcom/forms.py | 4 +- ietf/person/fields.py | 4 +- ietf/person/models.py | 5 +- ietf/person/tests.py | 3 +- ietf/review/mailarch.py | 4 +- ietf/review/policies.py | 5 +- ietf/secr/sreq/tests.py | 5 +- ietf/settings.py | 4 +- ietf/stats/backfill_data.py | 10 ++-- ietf/submit/forms.py | 4 +- ietf/submit/tests.py | 6 +-- ietf/submit/utils.py | 4 +- ietf/sync/iana.py | 2 +- ietf/sync/rfceditor.py | 5 +- ietf/utils/admin.py | 5 +- ietf/utils/draft.py | 4 +- ietf/utils/mail.py | 2 +- ietf/utils/markup_txt.py | 4 +- ietf/utils/patch.py | 2 +- ietf/utils/test_utils.py | 5 +- ietf/utils/text.py | 4 +- requirements.txt | 5 +- requirements3.txt | 71 --------------------------- 47 files changed, 110 insertions(+), 198 deletions(-) delete mode 100644 requirements3.txt diff --git a/ietf/api/serializer.py b/ietf/api/serializer.py index 98e276efe..dd178b419 100644 --- a/ietf/api/serializer.py +++ b/ietf/api/serializer.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -6,7 +6,6 @@ from __future__ import absolute_import, print_function, unicode_literals import hashlib import json -import six from django.core.cache import cache from django.core.exceptions import ObjectDoesNotExist, FieldError @@ -154,7 +153,7 @@ class AdminJsonSerializer(Serializer): if hasattr(field_value, "_meta"): self._current[name] = self.expand_related(field_value, name) else: - self._current[name] = six.text_type(field_value) + self._current[name] = str(field_value) except ObjectDoesNotExist: pass except AttributeError: diff --git a/ietf/bin/rfc-editor-index-updates b/ietf/bin/rfc-editor-index-updates index e9ac43a6c..0a6315a2f 100755 --- a/ietf/bin/rfc-editor-index-updates +++ b/ietf/bin/rfc-editor-index-updates @@ -11,7 +11,7 @@ import sys import syslog import traceback -from six.moves.urllib.request import urlopen +from urllib.request import urlopen # boilerplate basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) diff --git a/ietf/bin/rfc-editor-queue-updates b/ietf/bin/rfc-editor-queue-updates index a279346c7..bc1d4ab8b 100755 --- a/ietf/bin/rfc-editor-queue-updates +++ b/ietf/bin/rfc-editor-queue-updates @@ -3,7 +3,7 @@ import os import socket import sys -from six.moves.urllib.request import urlopen +from urllib.request import urlopen # boilerplate basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) diff --git a/ietf/checks.py b/ietf/checks.py index 235824c68..a1d76520a 100644 --- a/ietf/checks.py +++ b/ietf/checks.py @@ -5,12 +5,10 @@ from __future__ import absolute_import, print_function, unicode_literals import os -import six import sys import time from textwrap import dedent -if six.PY3: - from typing import List, Tuple # pyflakes:ignore +from typing import List, Tuple # pyflakes:ignore import debug # pyflakes:ignore debug.debug = True diff --git a/ietf/community/views.py b/ietf/community/views.py index c1a061e5d..8c1647384 100644 --- a/ietf/community/views.py +++ b/ietf/community/views.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -7,7 +7,6 @@ from __future__ import absolute_import, print_function, unicode_literals import csv import datetime import json -import six import uuid from django.http import HttpResponse, HttpResponseForbidden, HttpResponseRedirect, Http404 @@ -204,7 +203,7 @@ def export_to_csv(request, username=None, acronym=None, group_type=None): row.append(e.time.strftime("%Y-%m-%d") if e else "") row.append(strip_tags(doc.friendly_state())) row.append(doc.group.acronym if doc.group else "") - row.append(six.text_type(doc.ad) if doc.ad else "") + row.append(str(doc.ad) if doc.ad else "") e = doc.latest_event() row.append(e.time.strftime("%Y-%m-%d") if e else "") writer.writerow([v.encode("utf-8") for v in row]) diff --git a/ietf/doc/feeds.py b/ietf/doc/feeds.py index bcdefe112..5ee3b8bad 100644 --- a/ietf/doc/feeds.py +++ b/ietf/doc/feeds.py @@ -1,11 +1,10 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals import datetime -import six from django.contrib.syndication.views import Feed, FeedDoesNotExist from django.utils.feedgenerator import Atom1Feed, Rss201rev2Feed @@ -50,7 +49,7 @@ class DocumentChangesFeed(Feed): return item.time def item_author_name(self, item): - return six.text_type(item.by) + return str(item.by) def item_link(self, item): return urlreverse('ietf.doc.views_doc.document_history', kwargs=dict(name=item.doc.canonical_name())) + "#history-%s" % item.pk diff --git a/ietf/doc/fields.py b/ietf/doc/fields.py index 7266f5d34..e4d1ed16d 100644 --- a/ietf/doc/fields.py +++ b/ietf/doc/fields.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -83,7 +83,7 @@ class SearchableDocumentsField(forms.CharField): "model_name": self.model.__name__.lower() }) - return ",".join(six.text_type(o.pk) for o in value) + return ",".join(str(o.pk) for o in value) def clean(self, value): value = super(SearchableDocumentsField, self).clean(value) diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py index a36c06185..112c38292 100644 --- a/ietf/doc/mails.py +++ b/ietf/doc/mails.py @@ -6,7 +6,6 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime -import six import textwrap from django.template.loader import render_to_string @@ -288,7 +287,7 @@ def generate_publication_request(request, doc): approving_body = "IRSG" consensus_body = doc.group.acronym.upper() else: - approving_body = six.text_type(doc.stream) + approving_body = str(doc.stream) consensus_body = approving_body e = doc.latest_event(WriteupDocEvent, type="changed_rfc_editor_note_text") diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py index 61fe9404c..afb2eacb3 100644 --- a/ietf/doc/templatetags/ietf_filters.py +++ b/ietf/doc/templatetags/ietf_filters.py @@ -22,10 +22,11 @@ from django.utils.encoding import force_str # pyflakes:ignore force_str is used import debug # pyflakes:ignore -from ietf.doc.models import ConsensusDocEvent -from ietf.utils.text import wordwrap, fill, wrap_text_if_unwrapped -from ietf.utils.html import sanitize_fragment from ietf.doc.models import BallotDocEvent +from ietf.doc.models import ConsensusDocEvent +from ietf.utils.html import sanitize_fragment +from ietf.utils import log +from ietf.utils.text import wordwrap, fill, wrap_text_if_unwrapped register = template.Library() @@ -70,7 +71,7 @@ def parse_email_list(value): """ - if value and isinstance(value, (six.binary_type, six.text_type)): # testing for 'value' being true isn't necessary; it's a fast-out route + if value and isinstance(value, str): # testing for 'value' being true isn't necessary; it's a fast-out route addrs = re.split(", ?", value) ret = [] for addr in addrs: @@ -79,6 +80,8 @@ def parse_email_list(value): name = email ret.append('%s' % ( email.replace('&', '&'), escape(name) )) return mark_safe(", ".join(ret)) + elif value and isinstance(value, bytes): + log.assertion('isinstance(value, str)') else: return value @@ -151,10 +154,12 @@ def sanitize(value): @register.filter(name='bracket') def square_brackets(value): """Adds square brackets around text.""" - if isinstance(value, (six.binary_type, six.text_type)): + if isinstance(value, str): if value == "": value = " " return "[ %s ]" % value + elif isinstance(value, bytes): + log.assertion('isinstance(value, str)') elif value > 0: return "[ X ]" elif value < 0: @@ -344,7 +349,7 @@ def expires_soon(x,request): @register.filter(name='startswith') def startswith(x, y): - return six.text_type(x).startswith(y) + return str(x).startswith(y) @register.filter def has_role(user, role_names): diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 73cab0089..a3443003f 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -42,7 +42,6 @@ import io import json import os import re -import six from six.moves.urllib.parse import quote @@ -1397,7 +1396,7 @@ def add_sessionpresentation(request,name): if doc.group: sessions = sorted(sessions,key=lambda x:0 if x.group==doc.group else 1) - session_choices = [(s.pk, six.text_type(s)) for s in sessions] + session_choices = [(s.pk, str(s)) for s in sessions] if request.method == 'POST': version_form = VersionForm(request.POST,choices=version_choices) diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py index 514e0d636..ae2aed9d5 100644 --- a/ietf/group/tests_info.py +++ b/ietf/group/tests_info.py @@ -10,7 +10,6 @@ import calendar import datetime import io import bleach -import six from pyquery import PyQuery from tempfile import NamedTemporaryFile @@ -1442,7 +1441,7 @@ class StatusUpdateTests(TestCase): response = self.client.get(url) self.assertEqual(response.status_code,200) q=PyQuery(response.content) - self.assertTrue(bleach.linkify(escape(event.desc)) in six.text_type(q('pre'))) + self.assertTrue(bleach.linkify(escape(event.desc)) in str(q('pre'))) self.assertFalse(q('a#edit_button')) self.client.login(username=chair.person.user.username,password='%s+password'%chair.person.user.username) response = self.client.get(url) diff --git a/ietf/group/tests_review.py b/ietf/group/tests_review.py index f498a2edb..2f9058c0a 100644 --- a/ietf/group/tests_review.py +++ b/ietf/group/tests_review.py @@ -6,7 +6,6 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime import debug # pyflakes:ignore -import six from pyquery import PyQuery @@ -522,7 +521,7 @@ class ReviewTests(TestCase): # i.e. the document name is expected twice in the output (#2118) self.assertEqual(generated_text.count(review_req1.doc.name), 2) self.assertEqual(generated_text.count('(-0 lc reviewed)'), 2) # previous completed assignment - self.assertTrue(six.text_type(Person.objects.get(user__username="marschairman")) in generated_text) + self.assertTrue(str(Person.objects.get(user__username="marschairman")) in generated_text) empty_outbox() r = self.client.post(url, { diff --git a/ietf/group/views.py b/ietf/group/views.py index 6994625b2..90429a4e7 100644 --- a/ietf/group/views.py +++ b/ietf/group/views.py @@ -44,7 +44,6 @@ import json import math import os import re -import six from tempfile import mkstemp from collections import OrderedDict, defaultdict @@ -1539,7 +1538,7 @@ def manage_review_requests(request, acronym, group_type=None, assignment_status= saving = form_action.startswith("save") # check for conflicts - review_requests_dict = { six.text_type(r.pk): r for r in review_requests if r.pk} + review_requests_dict = { str(r.pk): r for r in review_requests if r.pk} posted_reqs = set(request.POST.getlist("reviewrequest", [])) posted_reqs.discard(u'None') current_reqs = set(review_requests_dict.keys()) diff --git a/ietf/idindex/index.py b/ietf/idindex/index.py index 03d5f2b2d..35197cdb4 100644 --- a/ietf/idindex/index.py +++ b/ietf/idindex/index.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -10,7 +10,6 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime import os import pytz -import six from django.conf import settings from django.template.loader import render_to_string @@ -195,7 +194,7 @@ def all_id2_txt(): area = d.group.parent.acronym fields.append(area) # 9 responsible AD name - fields.append(six.text_type(d.ad) if d.ad else "") + fields.append(str(d.ad) if d.ad else "") # 10 fields.append(d.intended_std_level.name if d.intended_std_level else "") # 11 diff --git a/ietf/idindex/tests.py b/ietf/idindex/tests.py index 07b0eebd7..4b234f412 100644 --- a/ietf/idindex/tests.py +++ b/ietf/idindex/tests.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -8,7 +8,6 @@ import datetime import io import os import shutil -import six from django.conf import settings @@ -102,7 +101,7 @@ class IndexTests(TestCase): self.assertEqual(t[6], draft.latest_event(type="new_revision").time.strftime("%Y-%m-%d")) self.assertEqual(t[7], draft.group.acronym) self.assertEqual(t[8], draft.group.parent.acronym) - self.assertEqual(t[9], six.text_type(draft.ad)) + self.assertEqual(t[9], str(draft.ad)) self.assertEqual(t[10], draft.intended_std_level.name) self.assertEqual(t[11], "") self.assertEqual(t[12], ".pdf,.txt") diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py index 9d3a9bb4a..d03de500a 100644 --- a/ietf/iesg/views.py +++ b/ietf/iesg/views.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- # # Portion Copyright (C) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -41,7 +41,6 @@ import io import itertools import json import os -import six import tarfile import time @@ -317,9 +316,9 @@ def agenda_documents_txt(request): row = ( d.computed_telechat_date.isoformat(), d.name, - six.text_type(d.intended_std_level), + str(d.intended_std_level), "1" if d.stream_id in ("ise", "irtf") else "0", - six.text_type(d.area_acronym()).lower(), + (d.area_acronym() or 'none').lower(), d.ad.plain_name() if d.ad else "None Assigned", d.rev, ) diff --git a/ietf/ipr/fields.py b/ietf/ipr/fields.py index 4b9987967..6d11b1b3c 100644 --- a/ietf/ipr/fields.py +++ b/ietf/ipr/fields.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -70,7 +70,7 @@ class SearchableIprDisclosuresField(forms.CharField): # patterns may not have been fully constructed there yet self.widget.attrs["data-ajax-url"] = urlreverse('ietf.ipr.views.ajax_search') - return ",".join(six.text_type(e.pk) for e in value) + return ",".join(str(e.pk) for e in value) def clean(self, value): value = super(SearchableIprDisclosuresField, self).clean(value) diff --git a/ietf/ipr/views.py b/ietf/ipr/views.py index 81df9ab95..238e32973 100644 --- a/ietf/ipr/views.py +++ b/ietf/ipr/views.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -6,7 +6,6 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime import itertools -import six from django.conf import settings from django.contrib import messages @@ -456,7 +455,7 @@ def by_draft_txt(request): lines = [ "# Machine-readable list of IPR disclosures by draft name" ] for name, iprs in docipr.items(): - lines.append(name + "\t" + "\t".join(six.text_type(ipr_id) for ipr_id in sorted(iprs))) + lines.append(name + "\t" + "\t".join(str(ipr_id) for ipr_id in sorted(iprs))) return HttpResponse("\n".join(lines), content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET) @@ -478,7 +477,7 @@ def by_draft_recursive_txt(request): lines = [ "# Machine-readable list of IPR disclosures by draft name" ] for name, iprs in docipr.items(): - lines.append(name + "\t" + "\t".join(six.text_type(ipr_id) for ipr_id in sorted(iprs))) + lines.append(name + "\t" + "\t".join(str(ipr_id) for ipr_id in sorted(iprs))) return HttpResponse("\n".join(lines), content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET) diff --git a/ietf/liaisons/fields.py b/ietf/liaisons/fields.py index 6f21b7c74..1fe2afae0 100644 --- a/ietf/liaisons/fields.py +++ b/ietf/liaisons/fields.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -65,7 +65,7 @@ class SearchableLiaisonStatementsField(forms.CharField): # patterns may not have been fully constructed there yet self.widget.attrs["data-ajax-url"] = urlreverse("ietf.liaisons.views.ajax_select2_search_liaison_statements") - return ",".join(six.text_type(o.pk) for o in value) + return ",".join(str(o.pk) for o in value) def clean(self, value): value = super(SearchableLiaisonStatementsField, self).clean(value) diff --git a/ietf/liaisons/forms.py b/ietf/liaisons/forms.py index 8f409fb90..5bab1ba64 100644 --- a/ietf/liaisons/forms.py +++ b/ietf/liaisons/forms.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -206,7 +206,7 @@ class CustomModelMultipleChoiceField(forms.ModelMultipleChoiceField): if isinstance(value, QuerySet): return value if (hasattr(value, '__iter__') and - not isinstance(value, six.text_type) and + not isinstance(value, str) and not hasattr(value, '_meta')): return [super(CustomModelMultipleChoiceField, self).prepare_value(v) for v in value] return super(CustomModelMultipleChoiceField, self).prepare_value(value) @@ -454,7 +454,7 @@ class IncomingLiaisonForm(LiaisonModelForm): self.fields['from_contact'].initial = self.person.role_set.filter(group=queryset[0]).first().email.address self.fields['from_contact'].widget.attrs['readonly'] = True self.fields['from_groups'].queryset = queryset - self.fields['from_groups'].widget.submitter = six.text_type(self.person) + self.fields['from_groups'].widget.submitter = str(self.person) # if there's only one possibility make it the default if len(queryset) == 1: diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index 60c4142fc..f802b7539 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -1,17 +1,18 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals # old meeting models can be found in ../proceedings/models.py -import pytz import datetime import io -from six.moves.urllib.parse import urljoin import os +import pytz import re import string +from urllib.parse import urljoin + import debug # pyflakes:ignore from django.core.validators import MinValueValidator diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 2dd0f57d9..00fc826ba 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -436,7 +436,7 @@ class MeetingTests(TestCase): response = self.client.get(url) self.assertContains(response, 'test acknowledgements') - @patch('six.moves.urllib.request.urlopen') + @patch('urllib.request.urlopen') def test_proceedings_attendees(self, mock_urlopen): mock_urlopen.return_value = six.BytesIO(b'[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') make_meeting_test_data() @@ -448,7 +448,7 @@ class MeetingTests(TestCase): q = PyQuery(response.content) self.assertEqual(1,len(q("#id_attendees tbody tr"))) - @patch('six.moves.urllib.request.urlopen') + @patch('urllib.request.urlopen') def test_proceedings_overview(self, mock_urlopen): '''Test proceedings IETF Overview page. Note: old meetings aren't supported so need to add a new meeting then test. @@ -2041,7 +2041,7 @@ class IphoneAppJsonTests(TestCase): self.assertEqual(r.status_code,200) class FinalizeProceedingsTests(TestCase): - @patch('six.moves.urllib.request.urlopen') + @patch('urllib.request.urlopen') def test_finalize_proceedings(self, mock_urlopen): mock_urlopen.return_value = BytesIO(b'[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') make_meeting_test_data() @@ -2103,7 +2103,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Upload', six.text_type(q("title"))) + self.assertIn('Upload', str(q("title"))) self.assertFalse(session.sessionpresentation_set.exists()) test_file = StringIO('%PDF-1.4\n%âãÏÓ\nthis is some text for a test') test_file.name = "not_really.pdf" @@ -2114,7 +2114,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Revise', six.text_type(q("title"))) + self.assertIn('Revise', str(q("title"))) test_file = StringIO('%PDF-1.4\n%âãÏÓ\nthis is some different text for a test') test_file.name = "also_not_really.pdf" r = self.client.post(url,dict(file=test_file)) @@ -2138,7 +2138,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Upload', six.text_type(q("title"))) + self.assertIn('Upload', str(q("title"))) self.assertFalse(session.sessionpresentation_set.exists()) test_file = StringIO('%PDF-1.4\n%âãÏÓ\nthis is some text for a test') test_file.name = "not_really.pdf" @@ -2156,7 +2156,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Upload', six.text_type(q("title"))) + self.assertIn('Upload', str(q("title"))) def test_upload_minutes_agenda(self): @@ -2171,7 +2171,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Upload', six.text_type(q("Title"))) + self.assertIn('Upload', str(q("Title"))) self.assertFalse(session.sessionpresentation_set.exists()) self.assertFalse(q('form input[type="checkbox"]')) @@ -2226,7 +2226,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Revise', six.text_type(q("Title"))) + self.assertIn('Revise', str(q("Title"))) test_file = BytesIO(b'this is some different text for a test') test_file.name = "also_some.txt" r = self.client.post(url,dict(file=test_file,apply_to_all=True)) @@ -2260,7 +2260,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Upload', six.text_type(q("Title"))) + self.assertIn('Upload', str(q("Title"))) self.assertFalse(session.sessionpresentation_set.exists()) self.assertFalse(q('form input[type="checkbox"]')) @@ -2281,7 +2281,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Upload', six.text_type(q("title"))) + self.assertIn('Upload', str(q("title"))) self.assertFalse(session.sessionpresentation_set.filter(document__type_id=doctype)) test_file = BytesIO(b'this is some text for a test') test_file.name = "not_really.txt" @@ -2304,7 +2304,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Upload', six.text_type(q("title"))) + self.assertIn('Upload', str(q("title"))) self.assertFalse(session1.sessionpresentation_set.filter(document__type_id='slides')) test_file = BytesIO(b'this is not really a slide') test_file.name = 'not_really.txt' @@ -2332,7 +2332,7 @@ class MaterialsTests(TestCase): r = self.client.get(url) self.assertTrue(r.status_code, 200) q = PyQuery(r.content) - self.assertIn('Revise', six.text_type(q("title"))) + self.assertIn('Revise', str(q("title"))) test_file = BytesIO(b'new content for the second slide deck') test_file.name = 'doesnotmatter.txt' r = self.client.post(url,dict(file=test_file,title='rename the presentation',apply_to_all=False)) diff --git a/ietf/meeting/utils.py b/ietf/meeting/utils.py index e7b696274..3daee71a9 100644 --- a/ietf/meeting/utils.py +++ b/ietf/meeting/utils.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -6,7 +6,7 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime import json -import six.moves.urllib.request +import urllib.request from six.moves.urllib.error import HTTPError from django.conf import settings @@ -115,7 +115,7 @@ def create_proceedings_templates(meeting): # Get meeting attendees from registration system url = settings.STATS_REGISTRATION_ATTENDEES_JSON_URL.format(number=meeting.number) try: - attendees = json.load(six.moves.urllib.request.urlopen(url)) + attendees = json.load(urllib.request.urlopen(url)) except (ValueError, HTTPError): attendees = [] diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 89e61b12b..a390dccfc 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -13,14 +13,13 @@ import json import os import pytz import re -import six import tarfile import markdown2 from calendar import timegm from collections import OrderedDict, Counter, deque -from six.moves.urllib.parse import unquote +from urllib.parse import unquote from tempfile import mkstemp from wsgiref.handlers import format_date_time @@ -556,7 +555,7 @@ def agenda_csv(schedule, filtered_assignments): headings = ["Date", "Start", "End", "Session", "Room", "Area", "Acronym", "Type", "Description", "Session ID", "Agenda", "Slides"] def write_row(row): - encoded_row = [v.encode('utf-8') if isinstance(v, six.text_type) else v for v in row] + encoded_row = [v.encode('utf-8') if isinstance(v, str) else v for v in row] while len(encoded_row) < len(headings): encoded_row.append(None) # produce empty entries at the end as necessary diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py index fe8942bbc..5f41652a2 100644 --- a/ietf/nomcom/forms.py +++ b/ietf/nomcom/forms.py @@ -42,12 +42,12 @@ class PositionNomineeField(forms.ChoiceField): results = [] for position in positions: accepted_nominees = [np.nominee for np in NomineePosition.objects.filter(position=position,state='accepted').exclude(nominee__duplicated__isnull=False)] - nominees = [('%s_%s' % (position.id, i.id), six.text_type(i)) for i in accepted_nominees] + nominees = [('%s_%s' % (position.id, i.id), str(i)) for i in accepted_nominees] if nominees: results.append((position.name+" (Accepted)", nominees)) for position in positions: other_nominees = [np.nominee for np in NomineePosition.objects.filter(position=position).exclude(state='accepted').exclude(nominee__duplicated__isnull=False)] - nominees = [('%s_%s' % (position.id, i.id), six.text_type(i)) for i in other_nominees] + nominees = [('%s_%s' % (position.id, i.id), str(i)) for i in other_nominees] if nominees: results.append((position.name+" (Declined or Pending)", nominees)) kwargs['choices'] = results diff --git a/ietf/person/fields.py b/ietf/person/fields.py index 077b6c4ca..77246ac29 100644 --- a/ietf/person/fields.py +++ b/ietf/person/fields.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -179,7 +179,7 @@ class PersonEmailChoiceField(forms.ModelChoiceField): def label_from_instance(self, email): if self.label_with == "person": - return six.text_type(email.person) + return str(email.person) elif self.label_with == "email": return email.address else: diff --git a/ietf/person/models.py b/ietf/person/models.py index 92cf46f64..8e99c5cce 100644 --- a/ietf/person/models.py +++ b/ietf/person/models.py @@ -88,9 +88,8 @@ class Person(models.Model): def plain_ascii(self): if not hasattr(self, '_cached_plain_ascii'): if self.ascii: - if isinstance(self.ascii, six.binary_type): - uname = six.text_type(self.ascii) - ascii = unidecode_name(uname) + if isinstance(self.ascii, bytes): + ascii = unidecode_name(self.ascii.decode('utf-8')) else: ascii = unidecode_name(self.ascii) else: diff --git a/ietf/person/tests.py b/ietf/person/tests.py index 29215be95..fd3129e42 100644 --- a/ietf/person/tests.py +++ b/ietf/person/tests.py @@ -5,7 +5,6 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime -import six from pyquery import PyQuery from io import StringIO @@ -94,7 +93,7 @@ class PersonTests(TestCase): empty_outbox() p = PersonFactory(name="Föö Bär") PersonFactory(name=p.name) - self.assertTrue("possible duplicate" in six.text_type(outbox[0]["Subject"]).lower()) + self.assertTrue("possible duplicate" in str(outbox[0]["Subject"]).lower()) def test_merge(self): url = urlreverse("ietf.person.views.merge") diff --git a/ietf/review/mailarch.py b/ietf/review/mailarch.py index 3ad1dbd30..b56ec3355 100644 --- a/ietf/review/mailarch.py +++ b/ietf/review/mailarch.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -18,7 +18,7 @@ import base64 import email.utils from six.moves.urllib.parse import urlencode -from six.moves.urllib.request import urlopen +from urllib.request import urlopen import debug # pyflakes:ignore diff --git a/ietf/review/policies.py b/ietf/review/policies.py index 8946bd5c6..ffd3582e6 100644 --- a/ietf/review/policies.py +++ b/ietf/review/policies.py @@ -1,10 +1,9 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved from __future__ import absolute_import, print_function, unicode_literals import re -import six from django.db.models.aggregates import Max from ietf.doc.models import DocumentAuthor, DocAlias @@ -289,7 +288,7 @@ class AssignmentOrderResolver: if stats: explanations.append(", ".join(stats)) - label = six.text_type(email.person) + label = str(email.person) if explanations: label = "{}: {}".format(label, "; ".join(explanations)) return { diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index 24d9009a2..c556a02b8 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -5,7 +5,6 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime -import six from django.urls import reverse @@ -227,14 +226,14 @@ class SubmitRequestCase(TestCase): r = self.client.post(url,post_data) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue('Confirm' in six.text_type(q("title"))) + self.assertTrue('Confirm' in str(q("title"))) # confirm post_data['submit'] = 'Submit' r = self.client.post(confirm_url,post_data) self.assertRedirects(r, reverse('ietf.secr.sreq.views.main')) self.assertEqual(len(outbox),len_before+1) notification = outbox[-1] - notification_payload = six.text_type(notification.get_payload(decode=True),"utf-8","replace") + notification_payload = notification.get_payload(decode=True).decode(encoding="utf-8", errors="replace") session = Session.objects.get(meeting=meeting,group=group) self.assertEqual(session.resources.count(),1) self.assertEqual(session.people_constraints.count(),1) diff --git a/ietf/settings.py b/ietf/settings.py index 88c7ebaed..691707e19 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -9,12 +9,10 @@ from __future__ import absolute_import, print_function, unicode_literals # http://code.djangoproject.com/wiki/SplitSettings import os -import six import sys import datetime import warnings -if six.PY3: - from typing import Any, Dict, List, Tuple # pyflakes:ignore +from typing import Any, Dict, List, Tuple # pyflakes:ignore warnings.simplefilter("always", DeprecationWarning) warnings.filterwarnings("ignore", message="Report.file_reporters will no longer be available in Coverage.py 4.2", module="coverage.report") diff --git a/ietf/stats/backfill_data.py b/ietf/stats/backfill_data.py index 41fca2049..91f5c50d9 100755 --- a/ietf/stats/backfill_data.py +++ b/ietf/stats/backfill_data.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals @@ -133,10 +133,10 @@ for doc in docs_qs.prefetch_related("docalias", "formal_languages", "documentaut # it's an extra author - skip those extra authors seen = set() # type: Set[Optional[str]] for full, _, _, _, _, email, country, company in d.get_author_list(): - assert full is None or isinstance(full, six.text_type) - assert email is None or isinstance(email, six.text_type) - assert country is None or isinstance(country, six.text_type) - assert isinstance(company, six.text_type) + assert full is None or isinstance(full, str) + assert email is None or isinstance(email, str) + assert country is None or isinstance(country, str) + assert isinstance(company, str) #full, email, country, company = [ unicode(s) for s in [full, email, country, company, ] ] if email in seen: continue diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py index 8d83eb9fa..205682b09 100644 --- a/ietf/submit/forms.py +++ b/ietf/submit/forms.py @@ -202,11 +202,11 @@ class SubmissionBaseUploadForm(forms.Form): self.revision = None self.filename = draftname self.title = self.xmlroot.findtext('front/title').strip() - if type(self.title) is six.text_type: + if type(self.title) is str: self.title = unidecode(self.title) self.title = normalize_text(self.title) self.abstract = (self.xmlroot.findtext('front/abstract') or '').strip() - if type(self.abstract) is six.text_type: + if type(self.abstract) is str: self.abstract = unidecode(self.abstract) author_info = self.xmlroot.findall('front/author') for author in author_info: diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index 7cc5d34d5..4af95af10 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -421,7 +421,7 @@ class SubmitTests(TestCase): self.assertTrue("unknown-email-" not in confirm_email["To"]) if change_authors: # Since authors changed, ensure chairs are copied (and that the message says why) - self.assertTrue("chairs have been copied" in six.text_type(confirm_email)) + self.assertTrue("chairs have been copied" in str(confirm_email)) if group_type in ['wg','rg','ag']: self.assertTrue("mars-chairs@" in confirm_email["To"].lower()) elif group_type == 'area': @@ -431,7 +431,7 @@ class SubmitTests(TestCase): if stream_type=='ise': self.assertTrue("rfc-ise@" in confirm_email["To"].lower()) else: - self.assertNotIn("chairs have been copied", six.text_type(confirm_email)) + self.assertNotIn("chairs have been copied", str(confirm_email)) self.assertNotIn("mars-chairs@", confirm_email["To"].lower()) confirmation_url = self.extract_confirmation_url(confirm_email) @@ -570,7 +570,7 @@ class SubmitTests(TestCase): # both submitter and author get email self.assertTrue(author.email().address.lower() in confirm_email["To"]) self.assertTrue("submitter@example.com" in confirm_email["To"]) - self.assertFalse("chairs have been copied" in six.text_type(confirm_email)) + self.assertFalse("chairs have been copied" in str(confirm_email)) confirmation_url = self.extract_confirmation_url(outbox[-1]) diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index 0b0b74bf0..6083539c0 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -493,7 +493,7 @@ def ensure_person_email_info_exists(name, email, docname): person = Person() person.name = name person.name_from_draft = name - log.assertion('isinstance(person.name, six.text_type)') + log.assertion('isinstance(person.name, str)') person.ascii = unidecode_name(person.name) person.save() else: @@ -682,7 +682,7 @@ def get_draft_meta(form, saved_files): if s is None: return "" - if isinstance(s, six.text_type): + if isinstance(s, str): return s else: try: diff --git a/ietf/sync/iana.py b/ietf/sync/iana.py index 186272674..e80772cec 100644 --- a/ietf/sync/iana.py +++ b/ietf/sync/iana.py @@ -10,7 +10,7 @@ import email import json import re -from six.moves.urllib.request import Request, urlopen +from urllib.request import Request, urlopen from django.conf import settings from django.utils.encoding import smart_bytes, force_str diff --git a/ietf/sync/rfceditor.py b/ietf/sync/rfceditor.py index 645e3d78c..ce74a5b7b 100644 --- a/ietf/sync/rfceditor.py +++ b/ietf/sync/rfceditor.py @@ -7,9 +7,8 @@ from __future__ import absolute_import, print_function, unicode_literals import base64 import datetime import re -import six -from six.moves.urllib.request import Request, urlopen +from urllib.request import Request, urlopen from six.moves.urllib.parse import urlencode from xml.dom import pulldom, Node @@ -560,6 +559,6 @@ def post_approved_draft(url, name): log(msg) if settings.SERVER_MODE == 'test': debug.say(msg) - error = six.text_type(e) + error = str(e) return text, error diff --git a/ietf/utils/admin.py b/ietf/utils/admin.py index ec141b78c..cf37dcff9 100644 --- a/ietf/utils/admin.py +++ b/ietf/utils/admin.py @@ -1,10 +1,9 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals -import six from django.contrib import admin from django.utils.encoding import force_text @@ -21,7 +20,7 @@ def name(obj): name = force_text(obj.name) if name: return name - return six.text_type(obj) + return str(obj) def admin_link(field, label=None, ordering="", display=name, suffix=""): if not label: diff --git a/ietf/utils/draft.py b/ietf/utils/draft.py index 368d545eb..d19e671b1 100755 --- a/ietf/utils/draft.py +++ b/ietf/utils/draft.py @@ -1,5 +1,5 @@ #!/usr/bin/python -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- # -*- python -*- @@ -136,7 +136,7 @@ def acronym_match(s, l): class Draft(): def __init__(self, text, source, name_from_source=False): - assert isinstance(text, six.text_type) + assert isinstance(text, str) self.source = source self.rawtext = text self.name_from_source = name_from_source diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index 8e997c306..e535e6921 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -189,7 +189,7 @@ def send_mail(request, to, frm, subject, template, context, *args, **kwargs): return send_mail_text(request, to, frm, subject, txt, *args, **kwargs) def encode_message(txt): - assert isinstance(txt, six.text_type) + assert isinstance(txt, str) return MIMEText(txt.encode('utf-8'), 'plain', 'UTF-8') def send_mail_text(request, to, frm, subject, txt, cc=None, extra=None, toUser=False, bcc=None, copy=True, save=True): diff --git a/ietf/utils/markup_txt.py b/ietf/utils/markup_txt.py index 6e680fd81..b45f7b75b 100644 --- a/ietf/utils/markup_txt.py +++ b/ietf/utils/markup_txt.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- # # Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -45,7 +45,7 @@ from ietf.utils import log from ietf.utils.text import wordwrap def markup(content, width=None): - log.assertion('isinstance(content, six.text_type)') + log.assertion('isinstance(content, str)') # normalize line endings to LF only content = content.replace("\r\n", "\n") content = content.replace("\r", "\n") diff --git a/ietf/utils/patch.py b/ietf/utils/patch.py index 0c1952f3f..379f2c760 100644 --- a/ietf/utils/patch.py +++ b/ietf/utils/patch.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2020, All Rights Reserved +# Some parts Copyright The IETF Trust 2020, All Rights Reserved #!/usr/bin/env python """ Patch utility to apply unified diffs diff --git a/ietf/utils/test_utils.py b/ietf/utils/test_utils.py index fc5df7ef6..f6ba32c3f 100644 --- a/ietf/utils/test_utils.py +++ b/ietf/utils/test_utils.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- # # Portion Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -40,7 +40,6 @@ import os import re import email import html5lib -import six import sys from six.moves.urllib.parse import unquote @@ -175,7 +174,7 @@ class TestCase(django.test.TestCase): if subject: mlist = [ m for m in mlist if subject in m["Subject"] ] if text: - assert isinstance(text, six.text_type) + assert isinstance(text, str) mlist = [ m for m in mlist if text in get_payload(m) ] if count and len(mlist) != count: sys.stderr.write("Wrong count in assertMailboxContains(). The complete mailbox contains %s emails:\n\n" % len(mailbox)) diff --git a/ietf/utils/text.py b/ietf/utils/text.py index 611ff7e86..ee01fbbe0 100644 --- a/ietf/utils/text.py +++ b/ietf/utils/text.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -154,7 +154,7 @@ def decode(raw): def text_to_dict(t): "Converts text with RFC2822-formatted header fields into a dictionary-like object." # ensure we're handed a unicode parameter - assert isinstance(t, six.text_type) + assert isinstance(t, str) d = {} # Return {} for malformed input if not len(t.lstrip()) == len(t): diff --git a/requirements.txt b/requirements.txt index c03399a10..b288e3313 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,6 +20,7 @@ django-markup>=1.1 django-password-strength>=1.2.1 django-referrer-policy>=1.0 django-simple-history>=2.3.0 +django-stubs==1.3.0 django-tastypie>=0.13.2 django-webtest>=1.9.7 django-widget-tweaks>=1.3 @@ -37,6 +38,7 @@ jwcrypto>=0.4.0 # for signed notifications #lxml>=3.4.0 # from PyQuery; markdown2>=2.3.8 mock>=2.0.0 +mypy==0.750 # Version requirements determined by django-stubs. mysqlclient>=1.3.13 oauth2client>=4.0.0 # required by google-api-python-client, but not always pulled in pathlib>=1.0 @@ -60,8 +62,7 @@ six>=1.9.0 sqlparse>=0.2.2 tblib>=1.3.0 tqdm>=3.7.0 -Trac>=1.0.10,<1.2 -typing>=3.7.4.1 +#Trac>=1.0.10,<1.2 Unidecode>=0.4.18 #wsgiref>=0.1.2 xml2rfc>=2.35.0 diff --git a/requirements3.txt b/requirements3.txt deleted file mode 100644 index 15e1d796d..000000000 --- a/requirements3.txt +++ /dev/null @@ -1,71 +0,0 @@ -# -*- conf-mode -*- -setuptools>=18.5 # Require this first, to prevent later errors -# -argon2-cffi>=16.1.0 # For the Argon2 password hasher option -beautifulsoup4>=4.5.0 -bibtexparser>=0.6.2,<1.0 # Version 1.0 doesn't work under python 2.7. 1.0.1 doesn't recognize month names or abbreviations. -bleach>=2.0.0,!=3.0.0,!=3.0.1,!=3.0.2 -coverage>=4.0.1,!=4.0.2,<5.0 -#cssselect>=0.6.1 # for PyQuery -decorator>=4.0.4 -defusedxml>=0.4.1 # for TastyPie when ussing xml; not a declared dependency -Django>=1.11,!=1.11.18,<1.12 # 1.11.18 has problems exporting BinaryField from django.db.models -django-bcrypt>=0.9.2 # for the BCrypt password hasher option. Remove when all bcrypt upgraded to argon2 -django-bootstrap3>=8.2.1,<9.0.0 -django-csp>=3.5 -django-cors-headers>=2.4.0 -django-form-utils>=1.0.3 -django-formtools>=1.0 # instead of django.contrib.formtools in 1.8 -django-markup>=1.1 -django-password-strength>=1.2.1 -django-referrer-policy>=1.0 -django-simple-history>=2.3.0 -django-stubs==1.3.0 -django-tastypie>=0.13.2 -django-webtest>=1.9.7 -django-widget-tweaks>=1.3 -docutils>=0.12,!=0.15 -factory-boy>=2.9.0 -google-api-python-client -Faker>=0.8.8,!=0.8.9,!=0.8.10 # from factory-boy # Faker 0.8.9,0.8.10 sometimes return string names instead of unicode. -hashids>=1.1.0 -html2text>=2019.8.11 -html5lib>=1.0.1 -httplib2>=0.10.3 -# jsonfield 3.x and higher requires Django 2.2 or higher -jsonfield>=1.0.3,<3.0 # for SubmissionCheck. This is https://github.com/bradjasper/django-jsonfield/. -jwcrypto>=0.4.0 # for signed notifications -#lxml>=3.4.0 # from PyQuery; -markdown2>=2.3.8 -mock>=2.0.0 -mypy==0.750 # Version requirements determined by django-stubs. -mysqlclient>=1.3.13 -oauth2client>=4.0.0 # required by google-api-python-client, but not always pulled in -pathlib>=1.0 -pathlib2>=2.3.0 -Pillow>=3.0 -#pip==9.0.1 # Earlier pip has issues, 9.0.2 and 9.0.3, 10.0.0b1 leaves dross when down- and up-grading packages -pyang>=1.7.2 -pyflakes>=0.9.2 -pyopenssl>=17.5.0 # Used by urllib3.contrib, which is used by PyQuery but not marked as a dependency -pyquery>=1.2.13,!=1.2.14 # Pyqyery 1.2.14 fails on some selectors or stacked selectors -python-dateutil>=2.2 -python-magic>=0.4.6 -python-memcached>=1.48 # for django.core.cache.backends.memcached -python-mimeparse>=1.6 # from TastyPie -pytz>=2014.7 -#pyzmail>=1.0.3 -requests!=2.12.* -rfc2html>=2.0.1 -selenium>=2.42,<3.8.1 -six>=1.9.0 -sqlparse>=0.2.2 -tblib>=1.3.0 -tqdm>=3.7.0 -#Trac>=1.0.10,<1.2 -Unidecode>=0.4.18 -#wsgiref>=0.1.2 -xml2rfc>=2.9.3,!=2.6.0 -xym>=0.4.4,!=0.4.7,<1.0 -#zxcvbn-python>=4.4.14 # Not needed until we do back-end password entropy validation - From 566971a6aeb9455c396acc327d856e003e5f599f Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 5 Mar 2020 15:10:33 +0000 Subject: [PATCH 2/5] Removed further six usage. - Legacy-Id: 17386 --- ietf/community/migrations/0001_initial.py | 6 ++---- ietf/group/models.py | 5 ++--- ietf/ietfauth/tests.py | 4 ++-- ietf/mailtrigger/forms.py | 7 +++---- ietf/mailtrigger/migrations/0001_initial.py | 6 ++---- ietf/mailtrigger/test_utils.py | 15 +++++++-------- ietf/meeting/tests_api.py | 4 ++-- ietf/meeting/tests_views.py | 7 +++---- ietf/meeting/utils.py | 2 +- ietf/nomcom/forms.py | 4 +--- ietf/nomcom/utils.py | 3 +-- ietf/stats/backfill_data.py | 5 ++--- 12 files changed, 28 insertions(+), 40 deletions(-) diff --git a/ietf/community/migrations/0001_initial.py b/ietf/community/migrations/0001_initial.py index d28b1755b..51228a707 100644 --- a/ietf/community/migrations/0001_initial.py +++ b/ietf/community/migrations/0001_initial.py @@ -1,11 +1,9 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 from __future__ import absolute_import, print_function, unicode_literals -import six -if six.PY3: - from typing import List, Tuple # pyflakes:ignore +from typing import List, Tuple # pyflakes:ignore from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/group/models.py b/ietf/group/models.py index 1232ce8a6..833b2c68a 100644 --- a/ietf/group/models.py +++ b/ietf/group/models.py @@ -7,9 +7,8 @@ import email.utils import jsonfield import os import re -import six -from six.moves.urllib.parse import urljoin +from urllib.parse import urljoin from django.conf import settings from django.core.validators import RegexValidator @@ -97,7 +96,7 @@ class Group(GroupInfo): return e[0] if e else None def has_role(self, user, role_names): - if isinstance(role_names, six.string_types): + if isinstance(role_names, str): role_names = [role_names] return user.is_authenticated and self.role_set.filter(name__in=role_names, person__user=user).exists() diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py index ea7eea7e8..56c888ed1 100644 --- a/ietf/ietfauth/tests.py +++ b/ietf/ietfauth/tests.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -6,7 +6,7 @@ from __future__ import absolute_import, print_function, unicode_literals import io import os, shutil, time, datetime -from six.moves.urllib.parse import urlsplit +from urllib.parse import urlsplit from pyquery import PyQuery from unittest import skipIf diff --git a/ietf/mailtrigger/forms.py b/ietf/mailtrigger/forms.py index 1d5ef284e..9fad2b85c 100644 --- a/ietf/mailtrigger/forms.py +++ b/ietf/mailtrigger/forms.py @@ -1,10 +1,9 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals -import six -if six.PY3: - from typing import Dict, List # pyflakes:ignore + +from typing import Dict, List # pyflakes:ignore from django import forms diff --git a/ietf/mailtrigger/migrations/0001_initial.py b/ietf/mailtrigger/migrations/0001_initial.py index ab013788f..40ecf4112 100644 --- a/ietf/mailtrigger/migrations/0001_initial.py +++ b/ietf/mailtrigger/migrations/0001_initial.py @@ -1,13 +1,11 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 from __future__ import absolute_import, print_function, unicode_literals -import six -if six.PY3: - from typing import List, Tuple # pyflakes:ignore +from typing import List, Tuple # pyflakes:ignore from django.db import migrations, models diff --git a/ietf/mailtrigger/test_utils.py b/ietf/mailtrigger/test_utils.py index 91007ebdf..b00000d1f 100644 --- a/ietf/mailtrigger/test_utils.py +++ b/ietf/mailtrigger/test_utils.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -8,7 +8,6 @@ from ietf.doc.factories import WgDraftFactory from ietf.mailtrigger.models import MailTrigger from .utils import gather_address_lists from ietf.utils.test_utils import TestCase -import six class GatherAddressListsTests(TestCase): @@ -19,15 +18,15 @@ class GatherAddressListsTests(TestCase): def test_regular_trigger(self): to, cc = gather_address_lists('doc_pulled_from_rfc_queue', doc=self.doc) # Despite its name, assertCountEqual also compares content, but does not care for ordering - six.assertCountEqual(self, to, ['iana@iana.org', 'rfc-editor@rfc-editor.org']) - six.assertCountEqual(self, cc, ['The IESG ', self.author_address, + self.assertCountEqual(to, ['iana@iana.org', 'rfc-editor@rfc-editor.org']) + self.assertCountEqual(cc, ['The IESG ', self.author_address, 'mars-chairs@ietf.org', 'iesg-secretary@ietf.org']) def test_skipped_recipient(self): to, cc = gather_address_lists('doc_pulled_from_rfc_queue', doc=self.doc, skipped_recipients=['mars-chairs@ietf.org', 'iana@iana.org']) - six.assertCountEqual(self, to, ['rfc-editor@rfc-editor.org']) - six.assertCountEqual(self, cc, ['The IESG ', self.author_address, + self.assertCountEqual(to, ['rfc-editor@rfc-editor.org']) + self.assertCountEqual(cc, ['The IESG ', self.author_address, 'iesg-secretary@ietf.org']) def test_trigger_does_not_exist(self): @@ -39,8 +38,8 @@ class GatherAddressListsTests(TestCase): new_desc = 'Autocreated mailtrigger from doc_pulled_from_rfc_queue' to, cc = gather_address_lists(new_slug, doc=self.doc, desc_if_not_exists=new_desc, create_from_slug_if_not_exists='doc_pulled_from_rfc_queue') - six.assertCountEqual(self, to, ['iana@iana.org', 'rfc-editor@rfc-editor.org']) - six.assertCountEqual(self, cc, ['The IESG ', self.author_address, + self.assertCountEqual(to, ['iana@iana.org', 'rfc-editor@rfc-editor.org']) + self.assertCountEqual(cc, ['The IESG ', self.author_address, 'mars-chairs@ietf.org', 'iesg-secretary@ietf.org']) new_trigger = MailTrigger.objects.get(slug=new_slug) self.assertEqual(new_trigger.desc, new_desc) diff --git a/ietf/meeting/tests_api.py b/ietf/meeting/tests_api.py index 5840e5ea7..192222b9b 100644 --- a/ietf/meeting/tests_api.py +++ b/ietf/meeting/tests_api.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -6,7 +6,7 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime -from six.moves.urllib.parse import urlsplit +from urllib.parse import urlsplit from django.urls import reverse as urlreverse diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 00fc826ba..32efcfa38 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -10,14 +10,13 @@ import os import random import re import shutil -import six from unittest import skipIf from mock import patch from pyquery import PyQuery from io import StringIO, BytesIO from bs4 import BeautifulSoup -from six.moves.urllib.parse import urlparse +from urllib.parse import urlparse from django.urls import reverse as urlreverse from django.conf import settings @@ -438,7 +437,7 @@ class MeetingTests(TestCase): @patch('urllib.request.urlopen') def test_proceedings_attendees(self, mock_urlopen): - mock_urlopen.return_value = six.BytesIO(b'[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') + mock_urlopen.return_value = BytesIO(b'[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') make_meeting_test_data() meeting = MeetingFactory(type_id='ietf', date=datetime.date(2016,7,14), number="96") finalize(meeting) @@ -453,7 +452,7 @@ class MeetingTests(TestCase): '''Test proceedings IETF Overview page. Note: old meetings aren't supported so need to add a new meeting then test. ''' - mock_urlopen.return_value = six.BytesIO(b'[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') + mock_urlopen.return_value = BytesIO(b'[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') make_meeting_test_data() meeting = MeetingFactory(type_id='ietf', date=datetime.date(2016,7,14), number="96") finalize(meeting) diff --git a/ietf/meeting/utils.py b/ietf/meeting/utils.py index 3daee71a9..b9e855a4a 100644 --- a/ietf/meeting/utils.py +++ b/ietf/meeting/utils.py @@ -8,7 +8,7 @@ import datetime import json import urllib.request -from six.moves.urllib.error import HTTPError +from urllib.error import HTTPError from django.conf import settings from django.template.loader import render_to_string from django.db.models.expressions import Subquery, OuterRef diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py index 5f41652a2..84cb87664 100644 --- a/ietf/nomcom/forms.py +++ b/ietf/nomcom/forms.py @@ -4,9 +4,7 @@ from __future__ import absolute_import, print_function, unicode_literals -import six -if six.PY3: - from typing import List, Tuple # pyflakes:ignore +from typing import List, Tuple # pyflakes:ignore from django.conf import settings from django import forms diff --git a/ietf/nomcom/utils.py b/ietf/nomcom/utils.py index fcb27510c..c5d5f90ba 100644 --- a/ietf/nomcom/utils.py +++ b/ietf/nomcom/utils.py @@ -8,7 +8,6 @@ import datetime import hashlib import os import re -import six import tempfile from email import message_from_string @@ -409,7 +408,7 @@ def getheader(header_text, default="ascii"): """Decode the specified header""" tuples = decode_header(header_text) - header_sections = [ text.decode(charset or default) if isinstance(text, six.binary_type) else text for text, charset in tuples] + header_sections = [ text.decode(charset or default) if isinstance(text, bytes) else text for text, charset in tuples] return "".join(header_sections) diff --git a/ietf/stats/backfill_data.py b/ietf/stats/backfill_data.py index 91f5c50d9..b9314a035 100755 --- a/ietf/stats/backfill_data.py +++ b/ietf/stats/backfill_data.py @@ -9,10 +9,9 @@ import sys import os import os.path import argparse -import six import time -if six.PY3: - from typing import Set, Optional # pyflakes:ignore + +from typing import Set, Optional # pyflakes:ignore basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) sys.path = [ basedir ] + sys.path From 1c808bf63ba1415cb3f5f303415550ea46fb948b Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 5 Mar 2020 15:54:32 +0000 Subject: [PATCH 3/5] Removed further six usage. - Legacy-Id: 17387 --- ietf/group/models.py | 2 +- ietf/mailtrigger/forms.py | 3 ++- ietf/utils/draft.py | 5 ++--- ietf/utils/markup_txt.py | 1 - ietf/utils/test_smtpserver.py | 19 ++++++------------- ietf/utils/tests_restapi.py | 5 ++--- ietf/utils/text.py | 5 ++--- ietf/utils/urls.py | 8 ++++---- 8 files changed, 19 insertions(+), 29 deletions(-) diff --git a/ietf/group/models.py b/ietf/group/models.py index 833b2c68a..09820841a 100644 --- a/ietf/group/models.py +++ b/ietf/group/models.py @@ -96,7 +96,7 @@ class Group(GroupInfo): return e[0] if e else None def has_role(self, user, role_names): - if isinstance(role_names, str): + if not isinstance(role_names, (list, tuple)): role_names = [role_names] return user.is_authenticated and self.role_set.filter(name__in=role_names, person__user=user).exists() diff --git a/ietf/mailtrigger/forms.py b/ietf/mailtrigger/forms.py index 9fad2b85c..7cc08156f 100644 --- a/ietf/mailtrigger/forms.py +++ b/ietf/mailtrigger/forms.py @@ -1,8 +1,9 @@ # Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals +from __future__ import absolute_import, print_function, unicode_literals + from typing import Dict, List # pyflakes:ignore from django import forms diff --git a/ietf/utils/draft.py b/ietf/utils/draft.py index d19e671b1..cc0b77985 100755 --- a/ietf/utils/draft.py +++ b/ietf/utils/draft.py @@ -45,12 +45,11 @@ import io import os import os.path import re -import six import stat import sys import time -if six.PY3: - from typing import Dict, List # pyflakes:ignore + +from typing import Dict, List # pyflakes:ignore version = "0.35" program = os.path.basename(sys.argv[0]) diff --git a/ietf/utils/markup_txt.py b/ietf/utils/markup_txt.py index b45f7b75b..fe5fc7600 100644 --- a/ietf/utils/markup_txt.py +++ b/ietf/utils/markup_txt.py @@ -37,7 +37,6 @@ from __future__ import absolute_import, print_function, unicode_literals import re -import six # pyflakes:ignore from django.utils.html import escape diff --git a/ietf/utils/test_smtpserver.py b/ietf/utils/test_smtpserver.py index b74797e52..21644a643 100644 --- a/ietf/utils/test_smtpserver.py +++ b/ietf/utils/test_smtpserver.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -7,7 +7,6 @@ from __future__ import absolute_import, print_function, unicode_literals import smtpd import threading import asyncore -import six import debug # pyflakes:ignore @@ -39,25 +38,19 @@ class SMTPTestChannel(smtpd.SMTPChannel): # mail_options = ['BODY=8BITMIME', 'SMTPUTF8'] def smtp_RCPT(self, arg): - if (six.PY2 and not self._SMTPChannel__mailfrom) or (six.PY3 and not self.mailfrom): + if not self.mailfrom: self.push(str('503 Error: need MAIL command')) return - if six.PY2: - address = self._SMTPChannel__getaddr('TO:', arg) if arg else None - else: - arg = self._strip_command_keyword('TO:', arg) - address, __ = self._getaddr(arg) + arg = self._strip_command_keyword('TO:', arg) + address, __ = self._getaddr(arg) if not address: self.push(str('501 Syntax: RCPT TO:
')) return if "poison" in address: self.push(str('550 Error: Not touching that')) return - if six.PY2: - self._SMTPChannel__rcpttos.append(address) - else: - self.rcpt_options = [] - self.rcpttos.append(address) + self.rcpt_options = [] + self.rcpttos.append(address) self.push(str('250 Ok')) class SMTPTestServer(smtpd.SMTPServer): diff --git a/ietf/utils/tests_restapi.py b/ietf/utils/tests_restapi.py index b8eb591b6..a6b3c53e1 100644 --- a/ietf/utils/tests_restapi.py +++ b/ietf/utils/tests_restapi.py @@ -1,10 +1,9 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals -import six import sys import debug @@ -84,6 +83,6 @@ class RestApi(ResourceTestCaseMixin, TestCase): for doc in doclist: for key in doc: value = doc[key] - if isinstance(value, six.string_types) and value.startswith('%s/'%apitop): + if isinstance(value, str) and value.startswith('%s/'%apitop): self.api_client.get(value, format='json') diff --git a/ietf/utils/text.py b/ietf/utils/text.py index ee01fbbe0..0346e1e78 100644 --- a/ietf/utils/text.py +++ b/ietf/utils/text.py @@ -5,7 +5,6 @@ from __future__ import absolute_import, print_function, unicode_literals import re -import six import textwrap import unicodedata @@ -60,7 +59,7 @@ def fill(text, width): def wordwrap(text, width=80): """Wraps long lines without loosing the formatting and indentation of short lines""" - if not isinstance(text, six.string_types): + if not isinstance(text, str): return text def block_separator(s): "Look for lines of identical symbols, at least three long" @@ -142,7 +141,7 @@ def maybe_split(text, split=True, pos=5000): return text def decode(raw): - assert isinstance(raw, six.binary_type) + assert isinstance(raw, bytes) try: text = raw.decode('utf-8') except UnicodeDecodeError: diff --git a/ietf/utils/urls.py b/ietf/utils/urls.py index a6a3abe9d..e3b5a0856 100644 --- a/ietf/utils/urls.py +++ b/ietf/utils/urls.py @@ -1,16 +1,16 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals import debug # pyflakes:ignore -import six from inspect import isclass from django.conf.urls import url as django_url from django.views.generic import View +from django.utils.encoding import force_str def url(regex, view, kwargs=None, name=None): if callable(view) and hasattr(view, '__name__'): @@ -22,9 +22,9 @@ def url(regex, view, kwargs=None, name=None): branch = 'name' elif isinstance(view, (list, tuple)): branch = 'list' - elif isinstance(view, six.string_types): + elif isinstance(view, (str, bytes)): branch = 'string' - name = view + name = force_str(view) elif callable(view) and hasattr(view, '__name__'): branch = 'callable' name = view_name From ab173cb2eb00b9fd1d68320145750e36b72b47db Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 5 Mar 2020 20:46:58 +0000 Subject: [PATCH 4/5] Removed further six usage: six.string_types, six.integer_types, six.moves.urllib instances. - Legacy-Id: 17390 --- ietf/api/__init__.py | 11 +++++----- ietf/doc/expire.py | 7 +++---- ietf/doc/factories.py | 7 +++---- ietf/doc/fields.py | 5 ++--- .../0016_set_document_docalias_fk.py | 6 +++--- ietf/doc/models.py | 5 ++--- ietf/doc/tests.py | 4 ++-- ietf/doc/utils.py | 5 ++--- ietf/doc/views_doc.py | 2 +- ietf/doc/views_status_change.py | 7 +++---- ietf/ipr/fields.py | 3 +-- ietf/ipr/tests.py | 2 +- ietf/liaisons/fields.py | 5 ++--- ietf/nomcom/tests.py | 2 +- ietf/person/fields.py | 5 ++--- ietf/person/models.py | 4 ++-- ietf/review/mailarch.py | 2 +- ietf/secr/proceedings/proc_utils.py | 4 ++-- ietf/sync/rfceditor.py | 2 +- ietf/utils/fields.py | 5 ++--- ietf/utils/log.py | 5 ++--- ietf/utils/mail.py | 21 +++++-------------- .../management/commands/coverage_changes.py | 5 ++--- .../management/commands/create_group_wikis.py | 5 ++--- ietf/utils/management/commands/makefixture.py | 6 ++---- .../commands/populate_yang_model_dirs.py | 8 +++---- ietf/utils/management/commands/tests.py | 5 ++--- ietf/utils/migrations/0001_initial.py | 6 ++---- ietf/utils/test_utils.py | 2 +- ietf/utils/tests.py | 14 ++++++------- 30 files changed, 70 insertions(+), 100 deletions(-) diff --git a/ietf/api/__init__.py b/ietf/api/__init__.py index ff0b57bd3..22e596ece 100644 --- a/ietf/api/__init__.py +++ b/ietf/api/__init__.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -6,9 +6,8 @@ from __future__ import absolute_import, print_function, unicode_literals import datetime import re -import six -from six.moves.urllib.parse import urlencode +from urllib.parse import urlencode from django.conf import settings from django.core.exceptions import ObjectDoesNotExist @@ -82,7 +81,7 @@ class TimedeltaField(ApiField): if value is None: return None - if isinstance(value, six.string_types): + if isinstance(value, str): match = TIMEDELTA_REGEX.search(value) if match: @@ -97,7 +96,7 @@ class TimedeltaField(ApiField): value = super(TimedeltaField, self).hydrate(bundle) if value and not hasattr(value, 'seconds'): - if isinstance(value, six.string_types): + if isinstance(value, str): try: match = TIMEDELTA_REGEX.search(value) @@ -125,7 +124,7 @@ class ToOneField(tastypie.fields.ToOneField): if callable(self.attribute): previous_obj = bundle.obj foreign_obj = self.attribute(bundle) - elif isinstance(self.attribute, six.string_types): + elif isinstance(self.attribute, str): foreign_obj = bundle.obj for attr in self._attrs: diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py index 985a2bd0f..863826b88 100644 --- a/ietf/doc/expire.py +++ b/ietf/doc/expire.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- # expiry of Internet Drafts @@ -8,10 +8,9 @@ from __future__ import absolute_import, print_function, unicode_literals from django.conf import settings import datetime, os, shutil, glob, re -import six from pathlib import Path -if six.PY3: - from typing import List, Tuple # pyflakes:ignore + +from typing import List, Tuple # pyflakes:ignore from ietf.utils import log from ietf.utils.mail import send_mail diff --git a/ietf/doc/factories.py b/ietf/doc/factories.py index 466d32c72..49189a125 100644 --- a/ietf/doc/factories.py +++ b/ietf/doc/factories.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -8,9 +8,8 @@ import debug # pyflakes:ignore import factory import factory.fuzzy import datetime -import six -if six.PY3: - from typing import Optional # pyflakes:ignore + +from typing import Optional # pyflakes:ignore from django.conf import settings diff --git a/ietf/doc/fields.py b/ietf/doc/fields.py index e4d1ed16d..cacd7d73d 100644 --- a/ietf/doc/fields.py +++ b/ietf/doc/fields.py @@ -5,7 +5,6 @@ from __future__ import absolute_import, print_function, unicode_literals import json -import six from django.utils.html import escape from django import forms @@ -57,9 +56,9 @@ class SearchableDocumentsField(forms.CharField): def prepare_value(self, value): if not value: value = "" - if isinstance(value, six.integer_types): + if isinstance(value, int): value = str(value) - if isinstance(value, six.string_types): + if isinstance(value, str): items = self.parse_select2_value(value) # accept both names and pks here names = [ i for i in items if not i.isdigit() ] diff --git a/ietf/doc/migrations/0016_set_document_docalias_fk.py b/ietf/doc/migrations/0016_set_document_docalias_fk.py index e931f1306..3c4137167 100644 --- a/ietf/doc/migrations/0016_set_document_docalias_fk.py +++ b/ietf/doc/migrations/0016_set_document_docalias_fk.py @@ -1,11 +1,11 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 14:04 from __future__ import absolute_import, print_function, unicode_literals -import six + import sys from tqdm import tqdm @@ -18,7 +18,7 @@ def forward(apps, schema_editor): n = getattr(o, a+'_id') if n: i = nameid[n] - if not isinstance(i, six.integer_types): + if not isinstance(i, int): raise ValueError("Inappropriate value: %s: nameid[%s]: %s" % (o.__class__.__name__, n, i)) if getattr(o, a+'2_id') != i: setattr(o, a+'2_id', i) diff --git a/ietf/doc/models.py b/ietf/doc/models.py index d3dfe8bb5..eb99dca43 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -7,7 +7,6 @@ import logging import io import os import rfc2html -import six from django.db import models from django.core import checks @@ -412,7 +411,7 @@ class DocumentInfo(models.Model): def relations_that(self, relationship): """Return the related-document objects that describe a given relationship targeting self.""" - if isinstance(relationship, six.string_types): + if isinstance(relationship, str): relationship = ( relationship, ) if not isinstance(relationship, tuple): raise TypeError("Expected a string or tuple, received %s" % type(relationship)) @@ -435,7 +434,7 @@ class DocumentInfo(models.Model): def relations_that_doc(self, relationship): """Return the related-document objects that describe a given relationship from self to other documents.""" - if isinstance(relationship, six.string_types): + if isinstance(relationship, str): relationship = ( relationship, ) if not isinstance(relationship, tuple): raise TypeError("Expected a string or tuple, received %s" % type(relationship)) diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 0f7720c7e..95033ed77 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -19,7 +19,7 @@ else: from six.moves.http_cookies import SimpleCookie from pyquery import PyQuery -from six.moves.urllib.parse import urlparse, parse_qs +from urllib.parse import urlparse, parse_qs from tempfile import NamedTemporaryFile from django.urls import reverse as urlreverse diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py index 6fe946b87..f2f785a68 100644 --- a/ietf/doc/utils.py +++ b/ietf/doc/utils.py @@ -11,10 +11,9 @@ import json import math import os import re -import six from collections import defaultdict -from six.moves.urllib.parse import quote +from urllib.parse import quote from django.conf import settings from django.contrib import messages @@ -705,7 +704,7 @@ def get_initial_notify(doc,extra=None): receivers = [] if extra: - if isinstance(extra, six.string_types): + if isinstance(extra, str): extra = extra.split(', ') receivers.extend(extra) diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index a3443003f..107b5d764 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -43,7 +43,7 @@ import json import os import re -from six.moves.urllib.parse import quote +from urllib.parse import quote from django.http import HttpResponse, Http404 , HttpResponseForbidden from django.shortcuts import render, get_object_or_404, redirect diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index 271f4086e..50d4ffe4d 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -8,9 +8,8 @@ import datetime import io import os import re -import six -if six.PY3: - from typing import Dict # pyflakes:ignore + +from typing import Dict # pyflakes:ignore from django import forms from django.shortcuts import render, get_object_or_404, redirect diff --git a/ietf/ipr/fields.py b/ietf/ipr/fields.py index 6d11b1b3c..bdad3f972 100644 --- a/ietf/ipr/fields.py +++ b/ietf/ipr/fields.py @@ -5,7 +5,6 @@ from __future__ import absolute_import, print_function, unicode_literals import json -import six from django.utils.html import escape from django import forms @@ -54,7 +53,7 @@ class SearchableIprDisclosuresField(forms.CharField): def prepare_value(self, value): if not value: value = "" - if isinstance(value, six.string_types): + if isinstance(value, str): pks = self.parse_select2_value(value) # if the user posted a non integer value we need to remove it for key in pks: diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py index ff9e98cbc..4acc2d953 100644 --- a/ietf/ipr/tests.py +++ b/ietf/ipr/tests.py @@ -8,7 +8,7 @@ import datetime from pyquery import PyQuery -from six.moves.urllib.parse import quote +from urllib.parse import quote from django.urls import reverse as urlreverse diff --git a/ietf/liaisons/fields.py b/ietf/liaisons/fields.py index 1fe2afae0..ffed1cc54 100644 --- a/ietf/liaisons/fields.py +++ b/ietf/liaisons/fields.py @@ -5,7 +5,6 @@ from __future__ import absolute_import, print_function, unicode_literals import json -import six from django.utils.html import escape from django import forms @@ -51,9 +50,9 @@ class SearchableLiaisonStatementsField(forms.CharField): def prepare_value(self, value): if not value: value = "" - if isinstance(value, six.integer_types): + if isinstance(value, int): value = str(value) - if isinstance(value, six.string_types): + if isinstance(value, str): pks = self.parse_select2_value(value) value = self.model.objects.filter(pk__in=pks) if isinstance(value, LiaisonStatement): diff --git a/ietf/nomcom/tests.py b/ietf/nomcom/tests.py index f757ea570..44c975e01 100644 --- a/ietf/nomcom/tests.py +++ b/ietf/nomcom/tests.py @@ -10,7 +10,7 @@ import random import shutil from pyquery import PyQuery -from six.moves.urllib.parse import urlparse +from urllib.parse import urlparse from django.db import IntegrityError from django.db.models import Max diff --git a/ietf/person/fields.py b/ietf/person/fields.py index 77246ac29..7f4fdbfb6 100644 --- a/ietf/person/fields.py +++ b/ietf/person/fields.py @@ -5,10 +5,9 @@ from __future__ import absolute_import, print_function, unicode_literals import json -import six from collections import Counter -from six.moves.urllib.parse import urlencode +from urllib.parse import urlencode from django import forms from django.core.validators import validate_email @@ -90,7 +89,7 @@ class SearchablePersonsField(forms.CharField): def prepare_value(self, value): if not value: value = "" - if isinstance(value, six.string_types): + if isinstance(value, str): pks = self.parse_select2_value(value) if self.model == Person: value = self.model.objects.filter(pk__in=pks) diff --git a/ietf/person/models.py b/ietf/person/models.py index 8e99c5cce..6a1f0bf6f 100644 --- a/ietf/person/models.py +++ b/ietf/person/models.py @@ -11,7 +11,7 @@ import six import uuid from hashids import Hashids -from six.moves.urllib.parse import urljoin +from urllib.parse import urljoin from django.conf import settings from django.contrib.auth.models import User @@ -108,7 +108,7 @@ class Person(models.Model): may be an object or the group acronym.""" if group: from ietf.group.models import Group - if isinstance(group, six.string_types): + if isinstance(group, str): group = Group.objects.get(acronym=group) e = Email.objects.filter(person=self, role__group=group, role__name=role_name) else: diff --git a/ietf/review/mailarch.py b/ietf/review/mailarch.py index b56ec3355..7c6dcf215 100644 --- a/ietf/review/mailarch.py +++ b/ietf/review/mailarch.py @@ -17,7 +17,7 @@ import hashlib import base64 import email.utils -from six.moves.urllib.parse import urlencode +from urllib.parse import urlencode from urllib.request import urlopen import debug # pyflakes:ignore diff --git a/ietf/secr/proceedings/proc_utils.py b/ietf/secr/proceedings/proc_utils.py index c8cd6323b..6ca49eace 100644 --- a/ietf/secr/proceedings/proc_utils.py +++ b/ietf/secr/proceedings/proc_utils.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -13,7 +13,7 @@ import datetime import os import re import subprocess -from six.moves.urllib.parse import urlencode +from urllib.parse import urlencode import debug # pyflakes:ignore diff --git a/ietf/sync/rfceditor.py b/ietf/sync/rfceditor.py index ce74a5b7b..a257b8f70 100644 --- a/ietf/sync/rfceditor.py +++ b/ietf/sync/rfceditor.py @@ -9,7 +9,7 @@ import datetime import re from urllib.request import Request, urlopen -from six.moves.urllib.parse import urlencode +from urllib.parse import urlencode from xml.dom import pulldom, Node from django.conf import settings diff --git a/ietf/utils/fields.py b/ietf/utils/fields.py index 8663cab58..ec2e5b3e7 100644 --- a/ietf/utils/fields.py +++ b/ietf/utils/fields.py @@ -1,11 +1,10 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals import datetime -import six import re import debug # pyflakes:ignore @@ -23,7 +22,7 @@ class MultiEmailField(forms.Field): if not value: return [] - if isinstance(value, six.string_types): + if isinstance(value, str): values = value.split(',') return [ x.strip() for x in values if x.strip() ] else: diff --git a/ietf/utils/log.py b/ietf/utils/log.py index 79fc27079..8599291fe 100644 --- a/ietf/utils/log.py +++ b/ietf/utils/log.py @@ -8,10 +8,9 @@ import sys import logging import inspect import os.path -import six import traceback -if six.PY3: - from typing import Callable # pyflakes:ignore + +from typing import Callable # pyflakes:ignore try: import syslog diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index e535e6921..eb186610a 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -8,7 +8,6 @@ import copy import datetime #import logging import re -import six import smtplib import sys import textwrap @@ -38,8 +37,7 @@ import ietf from ietf.utils.log import log, assertion from ietf.utils.text import isascii -if six.PY3: - from typing import Any, Dict, List # pyflakes:ignore +from typing import Any, Dict, List # pyflakes:ignore # Testing mode: # import ietf.utils.mail @@ -228,13 +226,7 @@ def formataddr(addrtuple): address field. Does what's needed, and returns a string value suitable for use in a To: or Cc: email header field. """ - if six.PY2: - name, addr = addrtuple - if name and not isascii(name): - name = str(Header(name, 'utf-8')) - return simple_formataddr((name, addr)) - else: - return simple_formataddr(addrtuple) + return simple_formataddr(addrtuple) def parseaddr(addr): """ @@ -245,7 +237,7 @@ def parseaddr(addr): """ - addr = ''.join( [ ( s.decode(m) if m else s.decode()) if isinstance(s, six.binary_type) else s for (s,m) in decode_header(addr) ] ) + addr = ''.join( [ ( s.decode(m) if m else s.decode()) if isinstance(s, bytes) else s for (s,m) in decode_header(addr) ] ) name, addr = simple_parseaddr(addr) return name, addr @@ -477,7 +469,7 @@ def send_mail_preformatted(request, preformatted, extra={}, override={}): def send_mail_message(request, message, extra={}): """Send a Message object.""" # note that this doesn't handle MIME messages at the moment - assertion('isinstance(message.to, six.string_types) and isinstance(message.cc, six.string_types) and isinstance(message.bcc, six.string_types)') + assertion('isinstance(message.to, str) and isinstance(message.cc, str) and isinstance(message.bcc, str)') e = extra.copy() if message.reply_to: @@ -627,8 +619,5 @@ def get_email_addresses_from_text(text): def get_payload(msg, decode=False): - if six.PY2: - return msg.get_payload(decode=decode).decode(msg.get_content_charset('utf-8')) - else: - return msg.get_payload(decode=decode) + return msg.get_payload(decode=decode) diff --git a/ietf/utils/management/commands/coverage_changes.py b/ietf/utils/management/commands/coverage_changes.py index 9058fc790..38660836b 100644 --- a/ietf/utils/management/commands/coverage_changes.py +++ b/ietf/utils/management/commands/coverage_changes.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -8,7 +8,6 @@ import gzip import io import json import os -import six from difflib import ndiff @@ -61,7 +60,7 @@ class Command(BaseCommand): valid_sections = ['template', 'url', 'code'] def read_coverage(self, filename, version=None): - if isinstance(filename, six.string_types): + if isinstance(filename, str): try: if filename.endswith(".gz"): file = gzip.open(filename, "rb") diff --git a/ietf/utils/management/commands/create_group_wikis.py b/ietf/utils/management/commands/create_group_wikis.py index cf6d947d7..8c9caea8b 100644 --- a/ietf/utils/management/commands/create_group_wikis.py +++ b/ietf/utils/management/commands/create_group_wikis.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -8,7 +8,6 @@ import os import copy import io import pkg_resources -import six import syslog from trac.core import TracError @@ -334,7 +333,7 @@ class Command(BaseCommand): if not self.group_list is None: self.group_list = self.group_list.split('.') - if isinstance(self.verbosity, six.string_types) and self.verbosity.isdigit(): + if isinstance(self.verbosity, str) and self.verbosity.isdigit(): self.verbosity = int(self.verbosity) if self.dummy_run and self.verbosity < 2: diff --git a/ietf/utils/management/commands/makefixture.py b/ietf/utils/management/commands/makefixture.py index fbffb061f..35e99556e 100644 --- a/ietf/utils/management/commands/makefixture.py +++ b/ietf/utils/management/commands/makefixture.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- # From https://github.com/ericholscher/django-test-utils/blob/master/test_utils/management/commands/makefixture.py @@ -45,8 +45,6 @@ python manage.py makefixture --format=xml --indent=4 YourModel[3] AnotherModel a #no support for generic relations #no support for one-to-one relations -import six - from django.core import serializers from django.core.management.base import CommandError from django.core.management.base import LabelCommand @@ -110,7 +108,7 @@ class Command(LabelCommand): objects = [] for model, slice in models: - if isinstance(slice, six.string_types) and slice: + if isinstance(slice, str) and slice: objects.extend(model._default_manager.filter(pk__exact=slice)) elif not slice or type(slice) is list: items = model._default_manager.all() diff --git a/ietf/utils/management/commands/populate_yang_model_dirs.py b/ietf/utils/management/commands/populate_yang_model_dirs.py index 14c72d421..891fd362c 100644 --- a/ietf/utils/management/commands/populate_yang_model_dirs.py +++ b/ietf/utils/management/commands/populate_yang_model_dirs.py @@ -1,15 +1,15 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals +import io import os import sys import time from pathlib2 import Path -from six import StringIO from textwrap import dedent from xym import xym @@ -66,8 +66,8 @@ class Command(BaseCommand): def extract_from(file, dir, strict=True): saved_stdout = sys.stdout saved_stderr = sys.stderr - xymerr = StringIO() - xymout = StringIO() + xymerr = io.StringIO() + xymout = io.StringIO() sys.stderr = xymerr sys.stdout = xymout model_list = [] diff --git a/ietf/utils/management/commands/tests.py b/ietf/utils/management/commands/tests.py index 807141703..12c606b02 100644 --- a/ietf/utils/management/commands/tests.py +++ b/ietf/utils/management/commands/tests.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -6,7 +6,6 @@ from __future__ import absolute_import, print_function, unicode_literals import io import os -import six import tempfile from django.core.management import call_command @@ -90,7 +89,7 @@ class CoverageChangeTestCase(TestCase): lfh, latest = tempfile.mkstemp(suffix='.json') with io.open(latest, "w") as file: file.write(latest_txt) - output = six.StringIO() + output = io.StringIO() call_command('coverage_changes', master, latest, stdout=output) text = output.getvalue() os.unlink(master) diff --git a/ietf/utils/migrations/0001_initial.py b/ietf/utils/migrations/0001_initial.py index d8513c1a3..6311b8828 100644 --- a/ietf/utils/migrations/0001_initial.py +++ b/ietf/utils/migrations/0001_initial.py @@ -1,13 +1,11 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 from __future__ import absolute_import, print_function, unicode_literals -import six -if six.PY3: - from typing import List, Tuple # pyflakes:ignore +from typing import List, Tuple # pyflakes:ignore from django.db import migrations, models diff --git a/ietf/utils/test_utils.py b/ietf/utils/test_utils.py index f6ba32c3f..e14a57ee7 100644 --- a/ietf/utils/test_utils.py +++ b/ietf/utils/test_utils.py @@ -42,7 +42,7 @@ import email import html5lib import sys -from six.moves.urllib.parse import unquote +from urllib.parse import unquote from unittest.util import strclass from bs4 import BeautifulSoup diff --git a/ietf/utils/tests.py b/ietf/utils/tests.py index b11ce5a19..f4338b179 100644 --- a/ietf/utils/tests.py +++ b/ietf/utils/tests.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- @@ -7,10 +7,10 @@ from __future__ import absolute_import, print_function, unicode_literals import io import os.path import shutil -import six +import sys import types -if six.PY3: - from typing import Dict, List # pyflakes:ignore + +from typing import Dict, List # pyflakes:ignore from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart @@ -282,7 +282,7 @@ class TemplateChecksTestCase(TestCase): r = self.client.get(url) self.assertTemplateUsed(r, '500.html') -@skipIf(six.PY3, "Trac not available for Python3 as of 14 Jul 2019") +@skipIf(sys.version_info.major==3, "Trac not available for Python3 as of 14 Jul 2019") @skipIf(skip_wiki_glue_testing, skip_message) class TestWikiGlueManagementCommand(TestCase): @@ -311,8 +311,8 @@ class TestWikiGlueManagementCommand(TestCase): type__slug__in=['wg','rg','ag','area'], state__slug='active' ).order_by('acronym') - out = six.StringIO() - err = six.StringIO() + out = io.StringIO() + err = io.StringIO() call_command('create_group_wikis', stdout=out, stderr=err, verbosity=2, wiki_dir_pattern=self.wiki_dir_pattern, svn_dir_pattern=self.svn_dir_pattern, From 726fcbf27d09fa72c3c840f3111c90d42ff35f90 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 5 Mar 2020 23:53:42 +0000 Subject: [PATCH 5/5] Removed all __future__ imports. - Legacy-Id: 17391 --- PLAN | 7 ------- bin/check-copyright | 2 +- bin/setupenv | 2 +- ietf/__init__.py | 2 -- ietf/api/__init__.py | 2 -- ietf/api/management/commands/makeresources.py | 4 ++-- ietf/api/serializer.py | 2 -- ietf/api/tests.py | 4 +--- ietf/api/views.py | 4 ++-- ietf/bin/list-role-holder-emails | 2 +- ietf/checks.py | 2 -- ietf/community/admin.py | 4 ++-- ietf/community/forms.py | 4 +--- ietf/community/migrations/0001_initial.py | 2 +- .../community/migrations/0002_auto_20180220_1052.py | 4 +--- .../migrations/0003_add_communitylist_docs2_m2m.py | 4 +--- .../migrations/0004_set_document_m2m_keys.py | 4 +--- .../migrations/0005_1_del_docs_m2m_table.py | 4 +--- .../migrations/0005_2_add_docs_m2m_table.py | 4 +--- .../migrations/0006_copy_docs_m2m_table.py | 4 +--- ietf/community/migrations/0007_remove_docs2_m2m.py | 4 +--- ietf/community/models.py | 4 +--- ietf/community/tests.py | 4 +--- ietf/community/utils.py | 4 +--- ietf/community/views.py | 2 -- ietf/cookies/__init__.py | 4 +--- ietf/cookies/tests.py | 6 ++---- ietf/cookies/views.py | 4 +--- ietf/dbtemplate/forms.py | 4 +--- ietf/dbtemplate/migrations/0001_initial.py | 8 ++------ .../migrations/0002_auto_20180220_1052.py | 4 +--- .../migrations/0003_adjust_review_templates.py | 4 +--- ...004_adjust_assignment_email_summary_templates.py | 4 +--- ...djust_assignment_email_summary_templates_2526.py | 4 +--- .../migrations/0006_add_review_assigned_template.py | 4 +--- .../migrations/0007_adjust_review_assigned.py | 4 ++-- .../0008_add_default_iesg_req_template.py | 2 +- ietf/dbtemplate/models.py | 4 ++-- ietf/dbtemplate/template.py | 4 +--- ietf/doc/admin.py | 2 -- ietf/doc/expire.py | 2 -- ietf/doc/factories.py | 2 -- ietf/doc/feeds.py | 2 -- ietf/doc/fields.py | 2 -- ietf/doc/forms.py | 5 +---- ietf/doc/mails.py | 2 -- ietf/doc/management/commands/fix_105_slides.py | 4 +--- .../commands/generate_draft_bibxml_files.py | 3 +-- ietf/doc/migrations/0001_initial.py | 4 +--- ietf/doc/migrations/0002_auto_20180220_1052.py | 4 +--- ietf/doc/migrations/0003_auto_20180401_1231.py | 4 +--- .../0004_add_draft_stream_replaced_states.py | 4 +--- .../0005_fix_replaced_iab_irtf_stream_docs.py | 4 +--- .../0006_ballotpositiondocevent_send_email.py | 4 +--- ietf/doc/migrations/0007_idexists.py | 4 +--- ietf/doc/migrations/0008_add_uploaded_filename.py | 4 +--- ...ove_non_url_externalurls_to_uploaded_filename.py | 4 +--- ietf/doc/migrations/0010_auto_20190225_1302.py | 4 +--- .../doc/migrations/0011_reviewassignmentdocevent.py | 4 +--- .../0012_add_event_type_closed_review_assignment.py | 4 +--- .../doc/migrations/0013_add_document_docalias_id.py | 4 +--- .../doc/migrations/0014_set_document_docalias_id.py | 4 +--- ietf/doc/migrations/0015_1_add_fk_to_document_id.py | 4 +--- .../0015_2_add_doc_document_m2m_fields.py | 4 +--- .../doc/migrations/0016_set_document_docalias_fk.py | 3 --- .../migrations/0017_make_document_id_primary_key.py | 4 +--- .../migrations/0018_remove_old_document_field.py | 4 +--- ietf/doc/migrations/0019_rename_field_document2.py | 4 +--- ietf/doc/migrations/0020_copy_docs_m2m_table.py | 4 +--- ietf/doc/migrations/0021_remove_docs2_m2m.py | 4 +--- .../migrations/0022_document_primary_key_cleanup.py | 4 +--- ietf/doc/migrations/0023_one_to_many_docalias.py | 4 +--- ietf/doc/migrations/0024_iana_experts.py | 4 ++-- ietf/doc/migrations/0025_ianaexpertdocevent.py | 4 ++-- .../migrations/0026_add_draft_rfceditor_state.py | 3 +-- ietf/doc/migrations/0027_add_irsg_doc_positions.py | 4 ++-- ietf/doc/migrations/0028_irsgballotdocevent.py | 4 ++-- ietf/doc/migrations/0029_add_ipr_event_types.py | 2 +- ietf/doc/models.py | 2 +- ietf/doc/templatetags/ietf_filters.py | 7 +++---- ietf/doc/templatetags/managed_groups.py | 4 +--- ietf/doc/tests.py | 4 +--- ietf/doc/tests_charter.py | 2 -- ietf/doc/tests_conflict_review.py | 4 +--- ietf/doc/tests_downref.py | 5 +---- ietf/doc/tests_draft.py | 2 -- ietf/doc/tests_material.py | 4 +--- ietf/doc/tests_review.py | 4 +--- ietf/doc/tests_status_change.py | 4 +--- ietf/doc/urls.py | 4 +--- ietf/doc/urls_conflict_review.py | 4 +--- ietf/doc/utils.py | 2 -- ietf/doc/utils_charter.py | 4 +--- ietf/doc/utils_search.py | 4 +--- ietf/doc/views_ballot.py | 2 -- ietf/doc/views_charter.py | 2 -- ietf/doc/views_conflict_review.py | 4 +--- ietf/doc/views_doc.py | 2 -- ietf/doc/views_downref.py | 5 +---- ietf/doc/views_draft.py | 2 -- ietf/doc/views_material.py | 4 +--- ietf/doc/views_review.py | 2 -- ietf/doc/views_search.py | 4 +--- ietf/doc/views_status_change.py | 2 -- ietf/group/admin.py | 4 +--- ietf/group/dot.py | 4 +--- ietf/group/feeds.py | 4 +--- ietf/group/forms.py | 4 +--- ietf/group/mails.py | 4 +--- .../management/commands/show_group_features.py | 4 +--- ietf/group/migrations/0001_initial.py | 4 +--- .../0002_groupfeatures_historicalgroupfeatures.py | 4 +--- ietf/group/migrations/0003_groupfeatures_data.py | 4 +--- .../migrations/0004_add_group_feature_fields.py | 4 +--- .../0005_group_features_list_data_to_json.py | 4 +--- .../0006_group_features_lists_to_jsonfield.py | 4 +--- .../migrations/0007_new_group_features_data.py | 5 +---- .../migrations/0008_group_features_onetoone.py | 4 +--- ietf/group/migrations/0009_auto_20190122_1012.py | 4 +--- ietf/group/migrations/0010_add_group_types.py | 5 +---- ietf/group/migrations/0011_auto_20190225_1302.py | 4 +--- .../migrations/0012_add_old_nomcom_announcements.py | 4 +--- .../migrations/0013_add_groupmilestone_docs2_m2m.py | 4 +--- ietf/group/migrations/0014_set_document_m2m_keys.py | 4 +--- ietf/group/migrations/0015_1_del_docs_m2m_table.py | 4 +--- ietf/group/migrations/0015_2_add_docs_m2m_table.py | 4 +--- ietf/group/migrations/0016_copy_docs_m2m_table.py | 4 +--- ietf/group/migrations/0017_remove_docs2_m2m.py | 4 +--- .../migrations/0018_remove_old_document_field.py | 4 +--- .../group/migrations/0019_rename_field_document2.py | 4 +--- .../migrations/0020_add_uses_milestone_dates.py | 2 +- .../migrations/0021_add_order_to_milestones.py | 2 +- .../0022_populate_uses_milestone_dates.py | 2 +- .../0023_use_milestone_dates_default_to_true.py | 2 +- ietf/group/models.py | 2 +- ietf/group/tests.py | 4 +--- ietf/group/tests_info.py | 2 -- ietf/group/tests_review.py | 2 -- ietf/group/utils.py | 4 +--- ietf/group/views.py | 2 -- ietf/idindex/generate_all_id2_txt.py | 9 ++------- ietf/idindex/generate_all_id_txt.py | 9 ++------- ietf/idindex/generate_id_abstracts_txt.py | 9 ++------- ietf/idindex/generate_id_index_txt.py | 9 ++------- ietf/idindex/index.py | 2 -- ietf/idindex/tests.py | 2 -- ietf/iesg/__init__.py | 4 +--- ietf/iesg/agenda.py | 4 +--- ietf/iesg/feeds.py | 4 +--- ietf/iesg/models.py | 4 +--- ietf/iesg/tests.py | 4 +--- ietf/iesg/views.py | 2 -- ietf/ietfauth/forms.py | 4 +--- ietf/ietfauth/htpasswd.py | 4 +--- .../management/commands/send_apikey_usage_emails.py | 4 +--- ietf/ietfauth/tests.py | 2 -- ietf/ietfauth/utils.py | 4 +--- ietf/ietfauth/views.py | 4 +--- ietf/ipr/admin.py | 4 +--- ietf/ipr/factories.py | 4 +--- ietf/ipr/feeds.py | 4 +--- ietf/ipr/fields.py | 2 -- ietf/ipr/forms.py | 4 +--- ietf/ipr/mail.py | 2 -- ietf/ipr/management/commands/process_email.py | 4 +--- ietf/ipr/migrations/0001_initial.py | 4 +--- ietf/ipr/migrations/0002_auto_20180225_1207.py | 4 +--- .../migrations/0003_add_ipdocrel_document2_fk.py | 4 +--- .../migrations/0004_remove_iprdocrel_document.py | 4 +--- ietf/ipr/migrations/0005_rename_field_document2.py | 4 +--- .../migrations/0006_document_primary_key_cleanup.py | 4 +--- ietf/ipr/migrations/0007_create_ipr_doc_events.py | 2 +- ietf/ipr/models.py | 2 -- ietf/ipr/templatetags/ipr_filters.py | 4 +--- ietf/ipr/tests.py | 2 -- ietf/ipr/utils.py | 4 +--- ietf/ipr/views.py | 2 -- ietf/liaisons/__init__.py | 4 +--- ietf/liaisons/admin.py | 4 +--- ietf/liaisons/feeds.py | 4 +--- ietf/liaisons/fields.py | 2 -- ietf/liaisons/forms.py | 7 ++----- ietf/liaisons/mails.py | 4 +--- .../management/commands/check_liaison_deadlines.py | 4 +--- .../management/commands/remind_update_sdo_list.py | 4 +--- ietf/liaisons/migrations/0001_initial.py | 4 +--- ietf/liaisons/migrations/0002_auto_20180225_1207.py | 4 +--- .../migrations/0003_liaison_document2_fk.py | 4 +--- ...04_remove_liaisonstatementattachment_document.py | 4 +--- .../migrations/0005_rename_field_document2.py | 4 +--- .../migrations/0006_document_primary_key_cleanup.py | 4 +--- ietf/liaisons/models.py | 4 +--- ietf/liaisons/tests.py | 9 +++------ ietf/liaisons/views.py | 4 +--- ietf/liaisons/widgets.py | 4 +--- ietf/mailinglists/factories.py | 4 +--- ietf/mailinglists/migrations/0001_initial.py | 4 +--- .../migrations/0002_auto_20190703_1344.py | 4 ++-- ietf/mailinglists/models.py | 4 +--- ietf/mailinglists/tests.py | 4 +--- ietf/mailtrigger/forms.py | 2 -- ietf/mailtrigger/migrations/0001_initial.py | 2 -- .../mailtrigger/migrations/0002_conflrev_changes.py | 4 +--- .../migrations/0003_add_review_notify_ad.py | 4 +--- ...004_ballot_rfceditornote_changed_postapproval.py | 4 +--- ietf/mailtrigger/migrations/0005_slides_proposed.py | 4 +--- ietf/mailtrigger/migrations/0006_sub_new_wg_00.py | 4 +--- .../migrations/0007_add_review_mailtriggers.py | 3 +-- .../migrations/0008_lengthen_mailtrigger_slug.py | 4 ++-- .../0009_custom_review_complete_mailtriggers.py | 3 +-- .../0010_add_review_reminder_mailtriggers.py | 3 +-- ietf/mailtrigger/migrations/0011_ietf_last_call.py | 4 ++-- .../migrations/0012_dont_last_call_early_reviews.py | 4 ++-- .../migrations/0013_add_irsg_ballot_saved.py | 4 ++-- ietf/mailtrigger/models.py | 4 +--- ietf/mailtrigger/test_utils.py | 2 -- ietf/mailtrigger/tests.py | 4 +--- ietf/meeting/admin.py | 2 -- ietf/meeting/factories.py | 4 +--- ietf/meeting/feeds.py | 2 -- ietf/meeting/forms.py | 4 +--- ietf/meeting/helpers.py | 2 -- .../management/commands/update_important_dates.py | 4 +--- ietf/meeting/migrations/0001_initial.py | 4 +--- ietf/meeting/migrations/0002_auto_20180225_1207.py | 4 +--- .../migrations/0003_rename_modified_fields.py | 4 +--- ietf/meeting/migrations/0004_meeting_attendees.py | 4 +--- .../migrations/0005_backfill_old_meetings.py | 4 +--- ietf/meeting/migrations/0006_backfill_attendees.py | 4 +--- ietf/meeting/migrations/0007_auto_20180716_1337.py | 4 +--- .../migrations/0008_rename_meeting_agenda_note.py | 4 +--- .../meeting/migrations/0009_add_agenda_info_note.py | 4 +--- .../0010_set_ietf_103_agenda_info_note.py | 4 +--- ietf/meeting/migrations/0011_auto_20190114_0550.py | 4 +--- .../migrations/0012_add_slide_submissions.py | 4 +--- .../migrations/0013_make_separate_break_sessobj.py | 4 +--- ietf/meeting/migrations/0014_auto_20190426_0305.py | 4 +--- .../0015_sessionpresentation_document2_fk.py | 4 +--- .../0016_remove_sessionpresentation_document.py | 4 +--- .../migrations/0017_rename_field_document2.py | 4 +--- .../migrations/0018_document_primary_key_cleanup.py | 4 +--- .../meeting/migrations/0019_slidesubmission_time.py | 4 ++-- .../migrations/0020_remove_future_break_sessions.py | 3 +-- .../0021_rename_meeting_agenda_to_schedule.py | 4 ++-- ietf/meeting/migrations/0022_schedulingevent.py | 4 ++-- .../migrations/0023_create_scheduling_events.py | 4 ++-- ietf/meeting/migrations/0024_auto_20191204_1731.py | 4 ++-- .../0025_rename_type_session_to_regular.py | 4 ++-- ietf/meeting/models.py | 2 +- ietf/meeting/templatetags/agenda_custom_tags.py | 4 +--- ietf/meeting/test_data.py | 2 -- ietf/meeting/tests_api.py | 2 -- ietf/meeting/tests_js.py | 4 +--- ietf/meeting/tests_views.py | 2 -- ietf/meeting/utils.py | 2 -- ietf/meeting/views.py | 2 -- ietf/message/management/commands/send_messages.py | 2 -- ietf/message/management/commands/show_messages.py | 1 - ietf/message/migrations/0001_initial.py | 4 +--- .../migrations/0002_add_message_docs2_m2m.py | 4 +--- .../migrations/0003_set_document_m2m_keys.py | 4 +--- .../message/migrations/0004_1_del_docs_m2m_table.py | 4 +--- .../message/migrations/0004_2_add_docs_m2m_table.py | 4 +--- ietf/message/migrations/0005_copy_docs_m2m_table.py | 4 +--- ietf/message/migrations/0006_remove_docs2_m2m.py | 4 +--- ietf/message/migrations/0007_message_sent.py | 2 +- ietf/message/migrations/0008_set_message_sent.py | 2 -- ietf/message/migrations/0009_fix_address_lists.py | 2 -- ietf/message/migrations/0010_fix_content_type.py | 2 -- ietf/message/models.py | 2 -- ietf/message/tests.py | 2 -- ietf/message/utils.py | 2 -- ietf/middleware.py | 4 +--- .../management/commands/generate_name_fixture.py | 7 +++---- ietf/name/migrations/0001_initial.py | 8 ++------ ietf/name/migrations/0002_agendatypename.py | 4 +--- ietf/name/migrations/0003_agendatypename_data.py | 4 +--- .../migrations/0004_add_prefix_to_doctypenames.py | 4 +--- .../migrations/0005_reviewassignmentstatename.py | 4 +--- ietf/name/migrations/0006_adjust_statenames.py | 4 +--- ietf/name/migrations/0007_fix_m2m_slug_id_length.py | 4 ++-- .../name/migrations/0008_reviewerqueuepolicyname.py | 4 ++-- .../0009_add_verified_errata_to_doctagname.py | 1 - ietf/name/models.py | 4 +--- ietf/nomcom/admin.py | 4 +--- ietf/nomcom/decorators.py | 4 +--- ietf/nomcom/factories.py | 4 +--- ietf/nomcom/fields.py | 4 +--- ietf/nomcom/forms.py | 2 -- ietf/nomcom/management/commands/feedback_email.py | 4 +--- .../nomcom/management/commands/make_dummy_nomcom.py | 2 -- ietf/nomcom/management/commands/send_reminders.py | 4 +--- ietf/nomcom/migrations/0001_initial.py | 4 +--- ietf/nomcom/migrations/0002_auto_20180918_0550.py | 4 +--- .../0003_nomcom_show_accepted_nominees.py | 4 +--- ...w_accepted_nominees_false_on_existing_nomcoms.py | 4 +--- ietf/nomcom/migrations/0005_auto_20181008_0602.py | 4 +--- ietf/nomcom/migrations/0006_auto_20190716_1216.py | 4 ++-- .../migrations/0007_position_is_iesg_position.py | 2 +- ietf/nomcom/models.py | 2 +- ietf/nomcom/test_data.py | 2 -- ietf/nomcom/tests.py | 2 -- ietf/nomcom/utils.py | 2 -- ietf/nomcom/views.py | 4 +--- ietf/person/factories.py | 4 +--- ietf/person/fields.py | 2 -- ietf/person/forms.py | 5 +---- .../commands/deactivate_email_addresses.py | 4 +--- ietf/person/migrations/0001_initial.py | 4 +--- ietf/person/migrations/0002_auto_20180330_0808.py | 4 +--- ietf/person/migrations/0003_auto_20180504_1519.py | 4 +--- .../person/migrations/0004_populate_email_origin.py | 4 +--- .../0005_populate_person_name_from_draft.py | 4 +--- ietf/person/migrations/0006_auto_20180910_0719.py | 4 +--- ietf/person/migrations/0007_auto_20180929_1303.py | 4 +--- ietf/person/migrations/0008_auto_20181014_1448.py | 4 +--- ietf/person/migrations/0009_auto_20190118_0725.py | 4 +--- ietf/person/models.py | 5 +---- ietf/person/name.py | 2 -- ietf/person/tests.py | 2 -- ietf/person/utils.py | 13 +++++-------- ietf/person/views.py | 4 +--- ietf/redirects/models.py | 4 +--- ietf/redirects/tests.py | 4 +--- ietf/redirects/views.py | 4 +--- ietf/release/tests.py | 4 +--- ietf/release/urls.py | 4 +--- ietf/release/views.py | 4 +--- ietf/review/admin.py | 4 +--- ietf/review/mailarch.py | 3 --- ietf/review/migrations/0001_initial.py | 4 +--- .../migrations/0002_unavailableperiod_reason.py | 4 +--- ietf/review/migrations/0003_add_notify_ad_when.py | 4 +--- .../0004_reviewteamsettings_secr_mail_alias.py | 4 +--- .../migrations/0005_set_secdir_notify_ad_when.py | 4 +--- .../migrations/0006_historicalreviewersettings.py | 4 +--- .../0007_allow_notify_ad_when_to_be_blank.py | 4 +--- .../migrations/0008_remove_reviewrequest_old_id.py | 4 +--- .../migrations/0009_refactor_review_request.py | 4 +--- .../migrations/0010_populate_review_assignments.py | 4 +--- ietf/review/migrations/0011_review_document2_fk.py | 4 +--- .../migrations/0012_remove_old_document_field.py | 4 +--- .../migrations/0013_rename_field_document2.py | 4 +--- .../migrations/0014_document_primary_key_cleanup.py | 4 +--- .../0015_populate_completed_on_for_rejected.py | 4 ++-- .../migrations/0016_add_remind_days_open_reviews.py | 4 ++-- ...view_team_remind_days_unconfirmed_assignments.py | 4 ++-- ietf/review/migrations/0018_auto_20191015_1014.py | 4 ++-- ietf/review/migrations/0019_auto_20191023_0829.py | 4 ++-- ietf/review/migrations/0020_auto_20191115_2059.py | 4 ++-- .../migrations/0021_add_additional_history.py | 4 ++-- ...ewer_queue_policy_and_request_assignment_next.py | 4 ++-- ...icalreviewersettings-change-reason-text-field.py | 4 ++-- ietf/review/models.py | 2 -- ietf/review/policies.py | 1 - ietf/review/tests.py | 4 +--- ietf/review/utils.py | 4 +--- ietf/secr/announcement/forms.py | 2 -- ietf/secr/announcement/tests.py | 2 -- ietf/secr/console/tests.py | 4 +--- ietf/secr/drafts/forms.py | 4 +--- ietf/secr/drafts/tests_views.py | 4 +--- ietf/secr/drafts/views.py | 4 +--- ietf/secr/groups/tests.py | 4 +--- ietf/secr/meetings/blue_sheets.py | 4 +--- ietf/secr/meetings/tests.py | 4 +--- ietf/secr/proceedings/migrations/0001_initial.py | 4 +--- ietf/secr/proceedings/models.py | 4 +--- ietf/secr/proceedings/proc_utils.py | 2 -- ietf/secr/proceedings/tests.py | 4 +--- ietf/secr/proceedings/views.py | 4 +--- ietf/secr/roles/tests.py | 4 +--- ietf/secr/rolodex/forms.py | 4 +--- ietf/secr/sreq/forms.py | 2 -- ietf/secr/sreq/tests.py | 2 -- ietf/secr/sreq/views.py | 2 -- ietf/secr/telechat/tests.py | 4 +--- ietf/secr/telechat/views.py | 4 +--- ietf/secr/utils/ams_utils.py | 4 +--- ietf/secr/utils/document.py | 4 +--- ietf/secr/utils/group.py | 4 +--- ietf/secr/utils/test.py | 4 +--- ietf/settings.py | 2 -- ietf/settings_releasetest.py | 5 +---- ietf/settings_sqlitetest.py | 4 +--- ietf/settings_testcrawl.py | 4 +--- ietf/stats/backfill_data.py | 1 - ietf/stats/migrations/0001_initial.py | 4 +--- ietf/stats/models.py | 4 +--- ietf/stats/tests.py | 4 +--- ietf/stats/urls.py | 4 +--- ietf/stats/utils.py | 4 +--- ietf/stats/views.py | 4 +--- ietf/submit/checkers.py | 7 ++----- ietf/submit/forms.py | 13 ++----------- ietf/submit/mail.py | 2 -- ietf/submit/management/commands/manualpost_email.py | 4 +--- ietf/submit/migrations/0001_initial.py | 4 +--- .../migrations/0002_submission_document2_fk.py | 4 +--- .../migrations/0003_remove_old_document_field.py | 4 +--- .../migrations/0004_rename_field_document2.py | 4 +--- ietf/submit/models.py | 4 +--- ietf/submit/parsers/base.py | 9 +++------ ietf/submit/parsers/plain_parser.py | 2 -- ietf/submit/templatetags/submit_tags.py | 4 +--- ietf/submit/tests.py | 5 +---- ietf/submit/utils.py | 7 ++----- ietf/submit/views.py | 9 +++------ ietf/sync/iana.py | 2 -- ietf/sync/rfceditor.py | 2 -- ietf/sync/tests.py | 2 -- ietf/utils/accesstoken.py | 4 +--- ietf/utils/admin.py | 3 --- ietf/utils/aliases.py | 4 +--- ietf/utils/bootstrap.py | 4 +--- ietf/utils/decorators.py | 4 +--- ietf/utils/draft.py | 2 -- ietf/utils/draft_search.py | 4 +--- ietf/utils/fields.py | 2 -- ietf/utils/history.py | 4 +--- ietf/utils/html.py | 5 +---- ietf/utils/log.py | 2 -- ietf/utils/mail.py | 2 -- .../commands/check_referential_integrity.py | 2 -- ietf/utils/management/commands/coverage_changes.py | 2 -- .../utils/management/commands/create_group_wikis.py | 2 -- ietf/utils/management/commands/download_extras.py | 4 +--- ietf/utils/management/commands/dumprelated.py | 4 +--- .../management/commands/fix_ambiguous_timestamps.py | 4 ++-- ietf/utils/management/commands/loadrelated.py | 4 +--- ietf/utils/management/commands/makefixture.py | 2 -- ietf/utils/management/commands/mergedata.py | 1 - .../management/commands/populate_yang_model_dirs.py | 2 -- ietf/utils/management/commands/pyflakes.py | 4 +--- .../management/commands/run_yang_model_checks.py | 4 +--- .../management/commands/send_apikey_usage_emails.py | 4 +--- .../commands/send_gdpr_consent_request.py | 4 +--- ietf/utils/management/commands/sqldumpdump.py | 2 +- ietf/utils/management/commands/tests.py | 2 -- .../commands/update_community_list_index.py | 5 +---- .../commands/update_external_command_info.py | 2 -- ietf/utils/markup_txt.py | 2 -- ietf/utils/migrations/0001_initial.py | 2 -- ietf/utils/mime.py | 1 - ietf/utils/ordereddict.py | 4 +--- ietf/utils/patch.py | 2 +- ietf/utils/pdf.py | 4 +--- ietf/utils/pipe.py | 4 +--- ietf/utils/templatetags/htmlfilters.py | 5 +---- ietf/utils/templatetags/textfilters.py | 4 +--- ietf/utils/test_data.py | 5 +---- ietf/utils/test_runner.py | 2 -- ietf/utils/test_smtpserver.py | 2 -- ietf/utils/test_textupload.py | 4 +--- ietf/utils/test_utils.py | 2 -- ietf/utils/tests.py | 3 --- ietf/utils/tests_restapi.py | 2 -- ietf/utils/texescape.py | 4 +--- ietf/utils/text.py | 2 -- ietf/utils/textupload.py | 4 +--- ietf/utils/urls.py | 2 -- ietf/utils/validators.py | 1 - ietf/wsgi.py | 4 +--- 463 files changed, 418 insertions(+), 1277 deletions(-) diff --git a/PLAN b/PLAN index bb937d6df..e879e031c 100644 --- a/PLAN +++ b/PLAN @@ -7,13 +7,6 @@ Updated: $Date$ Planned work in rough order =========================== -* Refactor the use of urlopen(). This is triggered by the transition to - python 3: All instances of .read() from urlopen() objects return byte - streams under Python 3, while the code wants to deal with str objects, which - are unicode under Python 3. Instead of building our own adapter to extract - the charset and do the decoding, we should transition to the 'requests' - module, which provides decoded unicode text directly from the response. - * Transition to Django 2.x (depends on Python 3.x). Security updates to Django 1.11 will cease around April 2020. diff --git a/bin/check-copyright b/bin/check-copyright index 1d52e5d3a..6698e3fda 100755 --- a/bin/check-copyright +++ b/bin/check-copyright @@ -33,7 +33,7 @@ COPYRIGHT Open Source Initiative at http://opensource.org/licenses/BSD-2-Clause. """ -from __future__ import print_function + import datetime import os diff --git a/bin/setupenv b/bin/setupenv index d63fd8f43..b9f0f72da 100755 --- a/bin/setupenv +++ b/bin/setupenv @@ -1,5 +1,5 @@ #!/usr/bin/env python -from __future__ import print_function + import os import subprocess diff --git a/ietf/__init__.py b/ietf/__init__.py index dd7b94057..e6185f182 100644 --- a/ietf/__init__.py +++ b/ietf/__init__.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from . import checks # pyflakes:ignore # Don't add patch number here: diff --git a/ietf/api/__init__.py b/ietf/api/__init__.py index 22e596ece..b4c6203d9 100644 --- a/ietf/api/__init__.py +++ b/ietf/api/__init__.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import re diff --git a/ietf/api/management/commands/makeresources.py b/ietf/api/management/commands/makeresources.py index 54830b5c1..087ed1b0f 100644 --- a/ietf/api/management/commands/makeresources.py +++ b/ietf/api/management/commands/makeresources.py @@ -1,6 +1,6 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + import os import datetime diff --git a/ietf/api/serializer.py b/ietf/api/serializer.py index dd178b419..9c26dd6c5 100644 --- a/ietf/api/serializer.py +++ b/ietf/api/serializer.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import hashlib import json diff --git a/ietf/api/tests.py b/ietf/api/tests.py index accc96989..5987c033c 100644 --- a/ietf/api/tests.py +++ b/ietf/api/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import sys diff --git a/ietf/api/views.py b/ietf/api/views.py index c25a25f56..41970bf3f 100644 --- a/ietf/api/views.py +++ b/ietf/api/views.py @@ -1,6 +1,6 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + from jwcrypto.jwk import JWK diff --git a/ietf/bin/list-role-holder-emails b/ietf/bin/list-role-holder-emails index b6749c858..1e5c5ed42 100755 --- a/ietf/bin/list-role-holder-emails +++ b/ietf/bin/list-role-holder-emails @@ -1,5 +1,5 @@ #!/usr/bin/env python -from __future__ import print_function + import os, sys import syslog diff --git a/ietf/checks.py b/ietf/checks.py index a1d76520a..864ef419e 100644 --- a/ietf/checks.py +++ b/ietf/checks.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import sys import time diff --git a/ietf/community/admin.py b/ietf/community/admin.py index fd7889f74..890819d9d 100644 --- a/ietf/community/admin.py +++ b/ietf/community/admin.py @@ -1,6 +1,6 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + from django.contrib import admin diff --git a/ietf/community/forms.py b/ietf/community/forms.py index 1677c950c..b6844e0d4 100644 --- a/ietf/community/forms.py +++ b/ietf/community/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import forms from django.db.models import Q diff --git a/ietf/community/migrations/0001_initial.py b/ietf/community/migrations/0001_initial.py index 51228a707..dc1ae75a3 100644 --- a/ietf/community/migrations/0001_initial.py +++ b/ietf/community/migrations/0001_initial.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals + from typing import List, Tuple # pyflakes:ignore diff --git a/ietf/community/migrations/0002_auto_20180220_1052.py b/ietf/community/migrations/0002_auto_20180220_1052.py index 93a0ebd5e..cb5658ac1 100644 --- a/ietf/community/migrations/0002_auto_20180220_1052.py +++ b/ietf/community/migrations/0002_auto_20180220_1052.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py b/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py index 34c620fbe..3bfaee9aa 100644 --- a/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py +++ b/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 14:23 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/community/migrations/0004_set_document_m2m_keys.py b/ietf/community/migrations/0004_set_document_m2m_keys.py index 095ef5243..60e51fc36 100644 --- a/ietf/community/migrations/0004_set_document_m2m_keys.py +++ b/ietf/community/migrations/0004_set_document_m2m_keys.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 14:27 -from __future__ import absolute_import, print_function, unicode_literals - import sys from tqdm import tqdm diff --git a/ietf/community/migrations/0005_1_del_docs_m2m_table.py b/ietf/community/migrations/0005_1_del_docs_m2m_table.py index 0ff9ace87..9a7b7f945 100644 --- a/ietf/community/migrations/0005_1_del_docs_m2m_table.py +++ b/ietf/community/migrations/0005_1_del_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-22 08:15 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/community/migrations/0005_2_add_docs_m2m_table.py b/ietf/community/migrations/0005_2_add_docs_m2m_table.py index 8847eadc4..ef1f9bc4f 100644 --- a/ietf/community/migrations/0005_2_add_docs_m2m_table.py +++ b/ietf/community/migrations/0005_2_add_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-22 08:15 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/community/migrations/0006_copy_docs_m2m_table.py b/ietf/community/migrations/0006_copy_docs_m2m_table.py index 9a9b40a7b..6d1a5e3a8 100644 --- a/ietf/community/migrations/0006_copy_docs_m2m_table.py +++ b/ietf/community/migrations/0006_copy_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-27 05:56 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import sys, time diff --git a/ietf/community/migrations/0007_remove_docs2_m2m.py b/ietf/community/migrations/0007_remove_docs2_m2m.py index dce7e45cc..a454fbf07 100644 --- a/ietf/community/migrations/0007_remove_docs2_m2m.py +++ b/ietf/community/migrations/0007_remove_docs2_m2m.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-30 03:06 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/community/models.py b/ietf/community/models.py index a5c98f8e5..fb4098e8c 100644 --- a/ietf/community/models.py +++ b/ietf/community/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib.auth.models import User from django.db import models from django.db.models import signals diff --git a/ietf/community/tests.py b/ietf/community/tests.py index f9cffff7f..a4290e48e 100644 --- a/ietf/community/tests.py +++ b/ietf/community/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from pyquery import PyQuery from django.urls import reverse as urlreverse diff --git a/ietf/community/utils.py b/ietf/community/utils.py index f773839c7..f08176e3c 100644 --- a/ietf/community/utils.py +++ b/ietf/community/utils.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re from django.db.models import Q diff --git a/ietf/community/views.py b/ietf/community/views.py index 8c1647384..eb4c8efd7 100644 --- a/ietf/community/views.py +++ b/ietf/community/views.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import csv import datetime import json diff --git a/ietf/cookies/__init__.py b/ietf/cookies/__init__.py index f17c21d38..6ac522698 100644 --- a/ietf/cookies/__init__.py +++ b/ietf/cookies/__init__.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # coding: latin-1 -from __future__ import absolute_import, print_function, unicode_literals - from types import ModuleType # These people will be sent a stack trace if there's an uncaught exception in diff --git a/ietf/cookies/tests.py b/ietf/cookies/tests.py index 302cab100..d23b64910 100644 --- a/ietf/cookies/tests.py +++ b/ietf/cookies/tests.py @@ -1,11 +1,9 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from pyquery import PyQuery -from six.moves.http_cookies import SimpleCookie +from http.cookies import SimpleCookie from django.urls import reverse as urlreverse diff --git a/ietf/cookies/views.py b/ietf/cookies/views.py index 58268dc61..065e0a649 100644 --- a/ietf/cookies/views.py +++ b/ietf/cookies/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.shortcuts import render from django.conf import settings diff --git a/ietf/dbtemplate/forms.py b/ietf/dbtemplate/forms.py index 987d61b60..03f2bc0fc 100644 --- a/ietf/dbtemplate/forms.py +++ b/ietf/dbtemplate/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import forms from django.core.exceptions import ValidationError from django.template import Context diff --git a/ietf/dbtemplate/migrations/0001_initial.py b/ietf/dbtemplate/migrations/0001_initial.py index 4d63c74d3..53defbda2 100644 --- a/ietf/dbtemplate/migrations/0001_initial.py +++ b/ietf/dbtemplate/migrations/0001_initial.py @@ -1,13 +1,9 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - -import six -if six.PY3: - from typing import List, Tuple # pyflakes:ignore +from typing import List, Tuple # pyflakes:ignore from django.db import migrations, models diff --git a/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py b/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py index 84f026f7a..9cff93f4a 100644 --- a/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py +++ b/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/dbtemplate/migrations/0003_adjust_review_templates.py b/ietf/dbtemplate/migrations/0003_adjust_review_templates.py index 80699981c..d3038c946 100644 --- a/ietf/dbtemplate/migrations/0003_adjust_review_templates.py +++ b/ietf/dbtemplate/migrations/0003_adjust_review_templates.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-03-05 11:39 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py b/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py index 9aa7493fe..f9a249609 100644 --- a/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py +++ b/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-03-13 13:41 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py b/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py index 06465460a..8a07d8936 100644 --- a/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py +++ b/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-03-13 13:41 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py b/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py index f2a0ddaab..cedd84322 100644 --- a/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py +++ b/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py b/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py index a3c876d08..c1e8324ef 100644 --- a/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py +++ b/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.26 on 2019-11-19 11:47 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py b/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py index 44012d5ff..3ca9a6fc8 100644 --- a/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py +++ b/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.27 on 2020-01-07 09:25 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/dbtemplate/models.py b/ietf/dbtemplate/models.py index 0678236c5..bd70c9148 100644 --- a/ietf/dbtemplate/models.py +++ b/ietf/dbtemplate/models.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright The IETF Trust 2012-2019, All Rights Reserved -from __future__ import absolute_import, print_function, unicode_literals +# Copyright The IETF Trust 2012-2020, All Rights Reserved + from django.db import models from django.core.exceptions import ValidationError diff --git a/ietf/dbtemplate/template.py b/ietf/dbtemplate/template.py index ba5cadfd0..02d6a512c 100644 --- a/ietf/dbtemplate/template.py +++ b/ietf/dbtemplate/template.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import string from docutils.core import publish_string diff --git a/ietf/doc/admin.py b/ietf/doc/admin.py index 590017468..1124e1ec3 100644 --- a/ietf/doc/admin.py +++ b/ietf/doc/admin.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib import admin from django.db import models from django import forms diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py index 863826b88..623c418d6 100644 --- a/ietf/doc/expire.py +++ b/ietf/doc/expire.py @@ -3,8 +3,6 @@ # expiry of Internet Drafts -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings import datetime, os, shutil, glob, re diff --git a/ietf/doc/factories.py b/ietf/doc/factories.py index 49189a125..f22e80cab 100644 --- a/ietf/doc/factories.py +++ b/ietf/doc/factories.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import debug # pyflakes:ignore import factory import factory.fuzzy diff --git a/ietf/doc/feeds.py b/ietf/doc/feeds.py index 5ee3b8bad..4b8d2789a 100644 --- a/ietf/doc/feeds.py +++ b/ietf/doc/feeds.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.contrib.syndication.views import Feed, FeedDoesNotExist diff --git a/ietf/doc/fields.py b/ietf/doc/fields.py index cacd7d73d..592cf439e 100644 --- a/ietf/doc/fields.py +++ b/ietf/doc/fields.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import json from django.utils.html import escape diff --git a/ietf/doc/forms.py b/ietf/doc/forms.py index 1dd23f474..18d72587d 100644 --- a/ietf/doc/forms.py +++ b/ietf/doc/forms.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - import datetime import debug #pyflakes:ignore from django import forms diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py index 112c38292..a6fdfac76 100644 --- a/ietf/doc/mails.py +++ b/ietf/doc/mails.py @@ -3,8 +3,6 @@ # generation of mails -from __future__ import absolute_import, print_function, unicode_literals - import datetime import textwrap diff --git a/ietf/doc/management/commands/fix_105_slides.py b/ietf/doc/management/commands/fix_105_slides.py index 3f19ecc94..b8689482e 100644 --- a/ietf/doc/management/commands/fix_105_slides.py +++ b/ietf/doc/management/commands/fix_105_slides.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os from collections import Counter diff --git a/ietf/doc/management/commands/generate_draft_bibxml_files.py b/ietf/doc/management/commands/generate_draft_bibxml_files.py index 47f6f0f54..82c50b037 100644 --- a/ietf/doc/management/commands/generate_draft_bibxml_files.py +++ b/ietf/doc/management/commands/generate_draft_bibxml_files.py @@ -1,7 +1,6 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals import datetime import io diff --git a/ietf/doc/migrations/0001_initial.py b/ietf/doc/migrations/0001_initial.py index b7fcec14b..fd50d34fc 100644 --- a/ietf/doc/migrations/0001_initial.py +++ b/ietf/doc/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import datetime import django.core.validators from django.db import migrations, models diff --git a/ietf/doc/migrations/0002_auto_20180220_1052.py b/ietf/doc/migrations/0002_auto_20180220_1052.py index 471054bc9..811e9eb81 100644 --- a/ietf/doc/migrations/0002_auto_20180220_1052.py +++ b/ietf/doc/migrations/0002_auto_20180220_1052.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/doc/migrations/0003_auto_20180401_1231.py b/ietf/doc/migrations/0003_auto_20180401_1231.py index f6f6144bc..7760b2511 100644 --- a/ietf/doc/migrations/0003_auto_20180401_1231.py +++ b/ietf/doc/migrations/0003_auto_20180401_1231.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.11 on 2018-04-01 12:31 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py b/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py index 5ab95997f..9d57cb476 100644 --- a/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py +++ b/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-05-03 11:50 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py b/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py index da03c5fa1..3529baf98 100644 --- a/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py +++ b/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-05-03 12:16 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py b/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py index 44ea6295f..42f58ca02 100644 --- a/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py +++ b/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-10-03 06:39 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0007_idexists.py b/ietf/doc/migrations/0007_idexists.py index 3731661ae..d8df81d5f 100644 --- a/ietf/doc/migrations/0007_idexists.py +++ b/ietf/doc/migrations/0007_idexists.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-04 10:56 -from __future__ import absolute_import, print_function, unicode_literals - from tqdm import tqdm from django.db import migrations diff --git a/ietf/doc/migrations/0008_add_uploaded_filename.py b/ietf/doc/migrations/0008_add_uploaded_filename.py index 82e528b8d..bf3690108 100644 --- a/ietf/doc/migrations/0008_add_uploaded_filename.py +++ b/ietf/doc/migrations/0008_add_uploaded_filename.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.17 on 2018-12-28 13:11 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py b/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py index 95ef47d11..f97ebbdff 100644 --- a/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py +++ b/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.17 on 2018-12-28 13:33 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations from django.db.models import F diff --git a/ietf/doc/migrations/0010_auto_20190225_1302.py b/ietf/doc/migrations/0010_auto_20190225_1302.py index 1d581c59b..2f8dfef45 100644 --- a/ietf/doc/migrations/0010_auto_20190225_1302.py +++ b/ietf/doc/migrations/0010_auto_20190225_1302.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-02-25 13:02 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0011_reviewassignmentdocevent.py b/ietf/doc/migrations/0011_reviewassignmentdocevent.py index 0482dd967..e143b5339 100644 --- a/ietf/doc/migrations/0011_reviewassignmentdocevent.py +++ b/ietf/doc/migrations/0011_reviewassignmentdocevent.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-11 11:22 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py b/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py index b6562f163..ae9bb3ce8 100644 --- a/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py +++ b/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-01 04:43 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0013_add_document_docalias_id.py b/ietf/doc/migrations/0013_add_document_docalias_id.py index 09d3f1a87..1b9d0ab91 100644 --- a/ietf/doc/migrations/0013_add_document_docalias_id.py +++ b/ietf/doc/migrations/0013_add_document_docalias_id.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 08:41 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0014_set_document_docalias_id.py b/ietf/doc/migrations/0014_set_document_docalias_id.py index 785b82bf2..a97f6d7e4 100644 --- a/ietf/doc/migrations/0014_set_document_docalias_id.py +++ b/ietf/doc/migrations/0014_set_document_docalias_id.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 08:42 -from __future__ import absolute_import, print_function, unicode_literals - import sys from tqdm import tqdm diff --git a/ietf/doc/migrations/0015_1_add_fk_to_document_id.py b/ietf/doc/migrations/0015_1_add_fk_to_document_id.py index 7a6248a1d..6d2e7415f 100644 --- a/ietf/doc/migrations/0015_1_add_fk_to_document_id.py +++ b/ietf/doc/migrations/0015_1_add_fk_to_document_id.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 10:29 -from __future__ import absolute_import, print_function, unicode_literals - import django.core.validators from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py b/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py index 2bd8a7ae1..99ff30c55 100644 --- a/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py +++ b/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-28 12:42 -from __future__ import absolute_import, print_function, unicode_literals - import sys, time from django.db import migrations, models diff --git a/ietf/doc/migrations/0016_set_document_docalias_fk.py b/ietf/doc/migrations/0016_set_document_docalias_fk.py index 3c4137167..67d1333f3 100644 --- a/ietf/doc/migrations/0016_set_document_docalias_fk.py +++ b/ietf/doc/migrations/0016_set_document_docalias_fk.py @@ -3,9 +3,6 @@ # Generated by Django 1.11.20 on 2019-05-08 14:04 -from __future__ import absolute_import, print_function, unicode_literals - - import sys from tqdm import tqdm diff --git a/ietf/doc/migrations/0017_make_document_id_primary_key.py b/ietf/doc/migrations/0017_make_document_id_primary_key.py index 3bbaa8176..baadd6f72 100644 --- a/ietf/doc/migrations/0017_make_document_id_primary_key.py +++ b/ietf/doc/migrations/0017_make_document_id_primary_key.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-09 05:46 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0018_remove_old_document_field.py b/ietf/doc/migrations/0018_remove_old_document_field.py index 19a8a4065..887dcc770 100644 --- a/ietf/doc/migrations/0018_remove_old_document_field.py +++ b/ietf/doc/migrations/0018_remove_old_document_field.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-20 09:53 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/doc/migrations/0019_rename_field_document2.py b/ietf/doc/migrations/0019_rename_field_document2.py index 396e29c50..517ae9ee7 100644 --- a/ietf/doc/migrations/0019_rename_field_document2.py +++ b/ietf/doc/migrations/0019_rename_field_document2.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 05:31 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/doc/migrations/0020_copy_docs_m2m_table.py b/ietf/doc/migrations/0020_copy_docs_m2m_table.py index 1bc395c33..482c4d785 100644 --- a/ietf/doc/migrations/0020_copy_docs_m2m_table.py +++ b/ietf/doc/migrations/0020_copy_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 05:31 -from __future__ import absolute_import, print_function, unicode_literals - import sys, time from django.db import migrations diff --git a/ietf/doc/migrations/0021_remove_docs2_m2m.py b/ietf/doc/migrations/0021_remove_docs2_m2m.py index 469523732..c659b65de 100644 --- a/ietf/doc/migrations/0021_remove_docs2_m2m.py +++ b/ietf/doc/migrations/0021_remove_docs2_m2m.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-30 03:36 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/doc/migrations/0022_document_primary_key_cleanup.py b/ietf/doc/migrations/0022_document_primary_key_cleanup.py index 5b666907c..9ddc908f5 100644 --- a/ietf/doc/migrations/0022_document_primary_key_cleanup.py +++ b/ietf/doc/migrations/0022_document_primary_key_cleanup.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-06-10 03:47 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/doc/migrations/0023_one_to_many_docalias.py b/ietf/doc/migrations/0023_one_to_many_docalias.py index cf7f54756..cf3c8330a 100644 --- a/ietf/doc/migrations/0023_one_to_many_docalias.py +++ b/ietf/doc/migrations/0023_one_to_many_docalias.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-06-10 04:36 -from __future__ import absolute_import, print_function, unicode_literals - import sys from tqdm import tqdm diff --git a/ietf/doc/migrations/0024_iana_experts.py b/ietf/doc/migrations/0024_iana_experts.py index 14faf15e1..0922b9c24 100644 --- a/ietf/doc/migrations/0024_iana_experts.py +++ b/ietf/doc/migrations/0024_iana_experts.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-08-07 12:07 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/doc/migrations/0025_ianaexpertdocevent.py b/ietf/doc/migrations/0025_ianaexpertdocevent.py index e6bbe0fa9..282d506d9 100644 --- a/ietf/doc/migrations/0025_ianaexpertdocevent.py +++ b/ietf/doc/migrations/0025_ianaexpertdocevent.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-08-07 12:27 -from __future__ import unicode_literals + from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/doc/migrations/0026_add_draft_rfceditor_state.py b/ietf/doc/migrations/0026_add_draft_rfceditor_state.py index 9f51f1529..0490f15ba 100644 --- a/ietf/doc/migrations/0026_add_draft_rfceditor_state.py +++ b/ietf/doc/migrations/0026_add_draft_rfceditor_state.py @@ -1,7 +1,6 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals from django.db import migrations diff --git a/ietf/doc/migrations/0027_add_irsg_doc_positions.py b/ietf/doc/migrations/0027_add_irsg_doc_positions.py index 4bb5f6a5a..e88ac9dda 100644 --- a/ietf/doc/migrations/0027_add_irsg_doc_positions.py +++ b/ietf/doc/migrations/0027_add_irsg_doc_positions.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.22 on 2019-08-03 10:09 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/doc/migrations/0028_irsgballotdocevent.py b/ietf/doc/migrations/0028_irsgballotdocevent.py index b3ecd6814..92f4d52d7 100644 --- a/ietf/doc/migrations/0028_irsgballotdocevent.py +++ b/ietf/doc/migrations/0028_irsgballotdocevent.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-10 10:37 -from __future__ import unicode_literals + from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/doc/migrations/0029_add_ipr_event_types.py b/ietf/doc/migrations/0029_add_ipr_event_types.py index 3c29628e2..08073b16e 100644 --- a/ietf/doc/migrations/0029_add_ipr_event_types.py +++ b/ietf/doc/migrations/0029_add_ipr_event_types.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.27 on 2020-01-17 11:54 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/doc/models.py b/ietf/doc/models.py index eb99dca43..d2304dcbe 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -1,6 +1,6 @@ # Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + import datetime import logging diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py index afb2eacb3..4220b0613 100644 --- a/ietf/doc/templatetags/ietf_filters.py +++ b/ietf/doc/templatetags/ietf_filters.py @@ -2,12 +2,9 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import bleach import datetime import re -import six from email.utils import parseaddr @@ -118,8 +115,10 @@ def make_one_per_line(value): >>> make_one_per_line(None) """ - if value and isinstance(value, (six.binary_type, six.text_type)): + if value and isinstance(value, str): return re.sub(", ?", "\n", value) + elif value and isinstance(value, bytes): + log.assertion('isinstance(value, str)') else: return value diff --git a/ietf/doc/templatetags/managed_groups.py b/ietf/doc/templatetags/managed_groups.py index 53a16d3a2..b291fc324 100644 --- a/ietf/doc/templatetags/managed_groups.py +++ b/ietf/doc/templatetags/managed_groups.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import template import debug # pyflakes:ignore diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 95033ed77..93b2a71ff 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import shutil import datetime @@ -17,7 +15,7 @@ if sys.version_info[0] == 2 and sys.version_info[1] < 7: else: import unittest -from six.moves.http_cookies import SimpleCookie +from http.cookies import SimpleCookie from pyquery import PyQuery from urllib.parse import urlparse, parse_qs from tempfile import NamedTemporaryFile diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py index 8edc49d48..5a8d20e71 100644 --- a/ietf/doc/tests_charter.py +++ b/ietf/doc/tests_charter.py @@ -2,8 +2,6 @@ # Copyright The IETF Trust 2011-2020, All Rights Reserved -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/doc/tests_conflict_review.py b/ietf/doc/tests_conflict_review.py index eb1c83371..f3beccf80 100644 --- a/ietf/doc/tests_conflict_review.py +++ b/ietf/doc/tests_conflict_review.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import shutil diff --git a/ietf/doc/tests_downref.py b/ietf/doc/tests_downref.py index 714e2d965..62b20db29 100644 --- a/ietf/doc/tests_downref.py +++ b/ietf/doc/tests_downref.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - from django.urls import reverse as urlreverse from pyquery import PyQuery diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index 469cc9661..6d9a50c99 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import shutil import datetime diff --git a/ietf/doc/tests_material.py b/ietf/doc/tests_material.py index 4c1d1978a..8d4482139 100644 --- a/ietf/doc/tests_material.py +++ b/ietf/doc/tests_material.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import shutil import datetime diff --git a/ietf/doc/tests_review.py b/ietf/doc/tests_review.py index 1856d5fcb..b558c3f26 100644 --- a/ietf/doc/tests_review.py +++ b/ietf/doc/tests_review.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime, os, shutil import io import tarfile, tempfile, mailbox diff --git a/ietf/doc/tests_status_change.py b/ietf/doc/tests_status_change.py index 01dd42457..cbfd131f2 100644 --- a/ietf/doc/tests_status_change.py +++ b/ietf/doc/tests_status_change.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import shutil diff --git a/ietf/doc/urls.py b/ietf/doc/urls.py index 9038ff1bb..1bef6f9ed 100644 --- a/ietf/doc/urls.py +++ b/ietf/doc/urls.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- # Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. Contact: Pasi Eronen @@ -33,8 +33,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - from django.conf.urls import include from django.views.generic import RedirectView from django.conf import settings diff --git a/ietf/doc/urls_conflict_review.py b/ietf/doc/urls_conflict_review.py index 3e244d852..aaad3259b 100644 --- a/ietf/doc/urls_conflict_review.py +++ b/ietf/doc/urls_conflict_review.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from ietf.doc import views_conflict_review, views_doc from ietf.utils.urls import url diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py index f2f785a68..a9dbb0127 100644 --- a/ietf/doc/utils.py +++ b/ietf/doc/utils.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import hashlib import io diff --git a/ietf/doc/utils_charter.py b/ietf/doc/utils_charter.py index 7b44ad3ff..ec3fe6fd0 100644 --- a/ietf/doc/utils_charter.py +++ b/ietf/doc/utils_charter.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/doc/utils_search.py b/ietf/doc/utils_search.py index 47383a12d..a5e92a283 100644 --- a/ietf/doc/utils_search.py +++ b/ietf/doc/utils_search.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import debug # pyflakes:ignore diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py index 1722aab30..02ef19b37 100644 --- a/ietf/doc/views_ballot.py +++ b/ietf/doc/views_ballot.py @@ -4,8 +4,6 @@ # Directors and Secretariat -from __future__ import absolute_import, print_function, unicode_literals - import datetime, json from django import forms diff --git a/ietf/doc/views_charter.py b/ietf/doc/views_charter.py index 8234be4f0..632ab4364 100644 --- a/ietf/doc/views_charter.py +++ b/ietf/doc/views_charter.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import json diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py index e7545bdf7..dd41021bc 100644 --- a/ietf/doc/views_conflict_review.py +++ b/ietf/doc/views_conflict_review.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 107b5d764..088557f52 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import datetime import glob import io diff --git a/ietf/doc/views_downref.py b/ietf/doc/views_downref.py index 4336566f8..1b7b51edb 100644 --- a/ietf/doc/views_downref.py +++ b/ietf/doc/views_downref.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - from django.urls import reverse as urlreverse from django.http import HttpResponseRedirect from django.shortcuts import render diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py index 0c87330bc..9b025956e 100644 --- a/ietf/doc/views_draft.py +++ b/ietf/doc/views_draft.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # changing state and metadata on Internet Drafts import datetime diff --git a/ietf/doc/views_material.py b/ietf/doc/views_material.py index d8b3847c3..46a24fd90 100644 --- a/ietf/doc/views_material.py +++ b/ietf/doc/views_material.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # views for managing group materials (slides, ...) import io import os diff --git a/ietf/doc/views_review.py b/ietf/doc/views_review.py index 01a0606a4..9cb0496c7 100644 --- a/ietf/doc/views_review.py +++ b/ietf/doc/views_review.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import itertools import json diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py index efe5db170..106850f27 100644 --- a/ietf/doc/views_search.py +++ b/ietf/doc/views_search.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- # # Some parts Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import re import datetime diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index 50d4ffe4d..b5f628e2e 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/group/admin.py b/ietf/group/admin.py index ca72a4397..cbfcc24b6 100644 --- a/ietf/group/admin.py +++ b/ietf/group/admin.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from functools import update_wrapper from django.contrib import admin diff --git a/ietf/group/dot.py b/ietf/group/dot.py index 0efc40545..e5fa1b297 100644 --- a/ietf/group/dot.py +++ b/ietf/group/dot.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- # -*- check-flake8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db.models import Q from django.template.loader import render_to_string diff --git a/ietf/group/feeds.py b/ietf/group/feeds.py index 8cc8a98ee..10713f91f 100644 --- a/ietf/group/feeds.py +++ b/ietf/group/feeds.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib.syndication.views import Feed, FeedDoesNotExist from django.utils.feedgenerator import Atom1Feed from django.urls import reverse as urlreverse diff --git a/ietf/group/forms.py b/ietf/group/forms.py index 2e68461be..573c4a6f0 100644 --- a/ietf/group/forms.py +++ b/ietf/group/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # Stdlib imports import datetime import re diff --git a/ietf/group/mails.py b/ietf/group/mails.py index 9adcbc4d1..6ebf5b0f1 100644 --- a/ietf/group/mails.py +++ b/ietf/group/mails.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- # generation of mails -from __future__ import absolute_import, print_function, unicode_literals - import re diff --git a/ietf/group/management/commands/show_group_features.py b/ietf/group/management/commands/show_group_features.py index 75789d23f..645eb0958 100644 --- a/ietf/group/management/commands/show_group_features.py +++ b/ietf/group/management/commands/show_group_features.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import collections from django.core.management.base import BaseCommand diff --git a/ietf/group/migrations/0001_initial.py b/ietf/group/migrations/0001_initial.py index faebd4811..740d5315b 100644 --- a/ietf/group/migrations/0001_initial.py +++ b/ietf/group/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py b/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py index b26fa386a..7828722cc 100644 --- a/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py +++ b/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-07-10 15:58 -from __future__ import absolute_import, print_function, unicode_literals - import django.core.validators import django.db.models.deletion diff --git a/ietf/group/migrations/0003_groupfeatures_data.py b/ietf/group/migrations/0003_groupfeatures_data.py index 6d78632ed..1e46f1df5 100644 --- a/ietf/group/migrations/0003_groupfeatures_data.py +++ b/ietf/group/migrations/0003_groupfeatures_data.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-07-10 15:58 -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.db import migrations diff --git a/ietf/group/migrations/0004_add_group_feature_fields.py b/ietf/group/migrations/0004_add_group_feature_fields.py index e103bc028..681232f6c 100644 --- a/ietf/group/migrations/0004_add_group_feature_fields.py +++ b/ietf/group/migrations/0004_add_group_feature_fields.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2019-01-10 07:51 -from __future__ import absolute_import, print_function, unicode_literals - import django.core.validators from django.db import migrations, models diff --git a/ietf/group/migrations/0005_group_features_list_data_to_json.py b/ietf/group/migrations/0005_group_features_list_data_to_json.py index 604cdecd7..68727ffe4 100644 --- a/ietf/group/migrations/0005_group_features_list_data_to_json.py +++ b/ietf/group/migrations/0005_group_features_list_data_to_json.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2019-01-09 09:02 -from __future__ import absolute_import, print_function, unicode_literals - import json import re diff --git a/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py b/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py index f332cd058..76412c821 100644 --- a/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py +++ b/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2019-01-16 05:53 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import jsonfield.fields diff --git a/ietf/group/migrations/0007_new_group_features_data.py b/ietf/group/migrations/0007_new_group_features_data.py index 35b28609d..b08e7f8ae 100644 --- a/ietf/group/migrations/0007_new_group_features_data.py +++ b/ietf/group/migrations/0007_new_group_features_data.py @@ -1,11 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2019-01-09 09:02 -from __future__ import absolute_import, print_function, unicode_literals - - from django.db import migrations import debug # pyflakes:ignore diff --git a/ietf/group/migrations/0008_group_features_onetoone.py b/ietf/group/migrations/0008_group_features_onetoone.py index 27883d18f..86bfacc1e 100644 --- a/ietf/group/migrations/0008_group_features_onetoone.py +++ b/ietf/group/migrations/0008_group_features_onetoone.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2019-01-19 10:08 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/group/migrations/0009_auto_20190122_1012.py b/ietf/group/migrations/0009_auto_20190122_1012.py index b026bee72..397757404 100644 --- a/ietf/group/migrations/0009_auto_20190122_1012.py +++ b/ietf/group/migrations/0009_auto_20190122_1012.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-22 10:12 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/group/migrations/0010_add_group_types.py b/ietf/group/migrations/0010_add_group_types.py index c32d73f26..59c2c07f7 100644 --- a/ietf/group/migrations/0010_add_group_types.py +++ b/ietf/group/migrations/0010_add_group_types.py @@ -1,11 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2019-01-09 09:02 -from __future__ import absolute_import, print_function, unicode_literals - - from django.db import migrations import debug # pyflakes:ignore diff --git a/ietf/group/migrations/0011_auto_20190225_1302.py b/ietf/group/migrations/0011_auto_20190225_1302.py index 0dfa13f25..1b5e45e2e 100644 --- a/ietf/group/migrations/0011_auto_20190225_1302.py +++ b/ietf/group/migrations/0011_auto_20190225_1302.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-02-25 13:02 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/group/migrations/0012_add_old_nomcom_announcements.py b/ietf/group/migrations/0012_add_old_nomcom_announcements.py index 50308af2c..3aa65bc91 100644 --- a/ietf/group/migrations/0012_add_old_nomcom_announcements.py +++ b/ietf/group/migrations/0012_add_old_nomcom_announcements.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-03-23 17:50 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations from ietf.group.models import Group diff --git a/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py b/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py index d3422419e..dd1eba669 100644 --- a/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py +++ b/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-02-25 13:02 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/group/migrations/0014_set_document_m2m_keys.py b/ietf/group/migrations/0014_set_document_m2m_keys.py index 46311d284..f886a9006 100644 --- a/ietf/group/migrations/0014_set_document_m2m_keys.py +++ b/ietf/group/migrations/0014_set_document_m2m_keys.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-10 06:48 -from __future__ import absolute_import, print_function, unicode_literals - import sys from tqdm import tqdm diff --git a/ietf/group/migrations/0015_1_del_docs_m2m_table.py b/ietf/group/migrations/0015_1_del_docs_m2m_table.py index 1f9868880..717eccaa7 100644 --- a/ietf/group/migrations/0015_1_del_docs_m2m_table.py +++ b/ietf/group/migrations/0015_1_del_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-22 08:00 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/group/migrations/0015_2_add_docs_m2m_table.py b/ietf/group/migrations/0015_2_add_docs_m2m_table.py index 02d16942c..e7c0e3bfb 100644 --- a/ietf/group/migrations/0015_2_add_docs_m2m_table.py +++ b/ietf/group/migrations/0015_2_add_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-22 08:00 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/group/migrations/0016_copy_docs_m2m_table.py b/ietf/group/migrations/0016_copy_docs_m2m_table.py index 0b34ff7ff..2871c34a9 100644 --- a/ietf/group/migrations/0016_copy_docs_m2m_table.py +++ b/ietf/group/migrations/0016_copy_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-27 05:57 -from __future__ import absolute_import, print_function, unicode_literals - import sys, time from tqdm import tqdm diff --git a/ietf/group/migrations/0017_remove_docs2_m2m.py b/ietf/group/migrations/0017_remove_docs2_m2m.py index 0839ace4f..00a44303d 100644 --- a/ietf/group/migrations/0017_remove_docs2_m2m.py +++ b/ietf/group/migrations/0017_remove_docs2_m2m.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-30 03:23 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/group/migrations/0018_remove_old_document_field.py b/ietf/group/migrations/0018_remove_old_document_field.py index 46b165e29..5a47e545c 100644 --- a/ietf/group/migrations/0018_remove_old_document_field.py +++ b/ietf/group/migrations/0018_remove_old_document_field.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-25 06:51 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/group/migrations/0019_rename_field_document2.py b/ietf/group/migrations/0019_rename_field_document2.py index ee6747514..438c669d2 100644 --- a/ietf/group/migrations/0019_rename_field_document2.py +++ b/ietf/group/migrations/0019_rename_field_document2.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-25 06:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/group/migrations/0020_add_uses_milestone_dates.py b/ietf/group/migrations/0020_add_uses_milestone_dates.py index 1dc7c3e33..a14b49fbe 100644 --- a/ietf/group/migrations/0020_add_uses_milestone_dates.py +++ b/ietf/group/migrations/0020_add_uses_milestone_dates.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-30 11:41 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/group/migrations/0021_add_order_to_milestones.py b/ietf/group/migrations/0021_add_order_to_milestones.py index bf0be03c9..22f40af6c 100644 --- a/ietf/group/migrations/0021_add_order_to_milestones.py +++ b/ietf/group/migrations/0021_add_order_to_milestones.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-30 13:37 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/group/migrations/0022_populate_uses_milestone_dates.py b/ietf/group/migrations/0022_populate_uses_milestone_dates.py index 43ab00977..a7b7d3eaa 100644 --- a/ietf/group/migrations/0022_populate_uses_milestone_dates.py +++ b/ietf/group/migrations/0022_populate_uses_milestone_dates.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-30 11:42 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py b/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py index 7e9433e26..440fce54a 100644 --- a/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py +++ b/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Copyright The IETF Trust 2020, All Rights Reserved # Generated by Django 1.11.28 on 2020-02-11 07:47 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/group/models.py b/ietf/group/models.py index 09820841a..e79431b90 100644 --- a/ietf/group/models.py +++ b/ietf/group/models.py @@ -1,6 +1,6 @@ # Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + import datetime import email.utils diff --git a/ietf/group/tests.py b/ietf/group/tests.py index 1fbe40cb6..04e3ac78c 100644 --- a/ietf/group/tests.py +++ b/ietf/group/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os from unittest import skipIf diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py index ae2aed9d5..b6760ac99 100644 --- a/ietf/group/tests_info.py +++ b/ietf/group/tests_info.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import shutil import calendar diff --git a/ietf/group/tests_review.py b/ietf/group/tests_review.py index 2f9058c0a..d76835c09 100644 --- a/ietf/group/tests_review.py +++ b/ietf/group/tests_review.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import debug # pyflakes:ignore diff --git a/ietf/group/utils.py b/ietf/group/utils.py index 39891689b..9f8fb0bc1 100644 --- a/ietf/group/utils.py +++ b/ietf/group/utils.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os diff --git a/ietf/group/views.py b/ietf/group/views.py index 90429a4e7..15532cac7 100644 --- a/ietf/group/views.py +++ b/ietf/group/views.py @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import copy import datetime import itertools diff --git a/ietf/idindex/generate_all_id2_txt.py b/ietf/idindex/generate_all_id2_txt.py index 43a137bde..91ef549cb 100755 --- a/ietf/idindex/generate_all_id2_txt.py +++ b/ietf/idindex/generate_all_id2_txt.py @@ -35,10 +35,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import os -import six import sys os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") @@ -47,7 +44,5 @@ import django django.setup() from ietf.idindex.index import all_id2_txt -if six.PY3: - sys.stdout.write(all_id2_txt()) -else: - sys.stdout.write(all_id2_txt().encode('utf-8')) + +sys.stdout.write(all_id2_txt()) diff --git a/ietf/idindex/generate_all_id_txt.py b/ietf/idindex/generate_all_id_txt.py index dffa650c8..b953f0004 100755 --- a/ietf/idindex/generate_all_id_txt.py +++ b/ietf/idindex/generate_all_id_txt.py @@ -34,10 +34,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import os -import six import sys os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") @@ -45,7 +42,5 @@ import django django.setup() from ietf.idindex.index import all_id_txt -if six.PY3: - sys.stdout.write(all_id_txt()) -else: - sys.stdout.write(all_id_txt().encode('utf-8')) + +sys.stdout.write(all_id_txt()) diff --git a/ietf/idindex/generate_id_abstracts_txt.py b/ietf/idindex/generate_id_abstracts_txt.py index fce23dea0..62e43c496 100755 --- a/ietf/idindex/generate_id_abstracts_txt.py +++ b/ietf/idindex/generate_id_abstracts_txt.py @@ -34,10 +34,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import os -import six import sys os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") @@ -45,8 +42,6 @@ import django django.setup() from ietf.idindex.index import id_index_txt -if six.PY3: - sys.stdout.write(id_index_txt(with_abstracts=True)) -else: - sys.stdout.write(id_index_txt(with_abstracts=True).encode('utf-8')) + +sys.stdout.write(id_index_txt(with_abstracts=True)) diff --git a/ietf/idindex/generate_id_index_txt.py b/ietf/idindex/generate_id_index_txt.py index 6a32ebced..6a27dfdac 100755 --- a/ietf/idindex/generate_id_index_txt.py +++ b/ietf/idindex/generate_id_index_txt.py @@ -34,10 +34,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import os -import six import sys os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") @@ -45,8 +42,6 @@ import django django.setup() from ietf.idindex.index import id_index_txt -if six.PY3: - sys.stdout.write(id_index_txt()) -else: - sys.stdout.write(id_index_txt().encode('utf-8')) + +sys.stdout.write(id_index_txt()) diff --git a/ietf/idindex/index.py b/ietf/idindex/index.py index 35197cdb4..3dbf0ee76 100644 --- a/ietf/idindex/index.py +++ b/ietf/idindex/index.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # code to generate plain-text index files that are placed on # www.ietf.org in the same directory as the I-Ds diff --git a/ietf/idindex/tests.py b/ietf/idindex/tests.py index 4b234f412..101d9aa26 100644 --- a/ietf/idindex/tests.py +++ b/ietf/idindex/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/iesg/__init__.py b/ietf/iesg/__init__.py index 78e8b3ff8..f53d26ebf 100644 --- a/ietf/iesg/__init__.py +++ b/ietf/iesg/__init__.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from types import ModuleType # These people will be sent a stack trace if there's an uncaught exception in diff --git a/ietf/iesg/agenda.py b/ietf/iesg/agenda.py index cabe85af2..3783ad25e 100644 --- a/ietf/iesg/agenda.py +++ b/ietf/iesg/agenda.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # utilities for constructing agendas for IESG telechats import io diff --git a/ietf/iesg/feeds.py b/ietf/iesg/feeds.py index 0cd17f5fe..6e8d290c6 100644 --- a/ietf/iesg/feeds.py +++ b/ietf/iesg/feeds.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.contrib.syndication.views import Feed diff --git a/ietf/iesg/models.py b/ietf/iesg/models.py index bf716a9d9..3691edb6d 100644 --- a/ietf/iesg/models.py +++ b/ietf/iesg/models.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- # # Portion Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.db import models diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py index e28d471ff..a0b2eaa3b 100644 --- a/ietf/iesg/tests.py +++ b/ietf/iesg/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py index d03de500a..b023e1612 100644 --- a/ietf/iesg/views.py +++ b/ietf/iesg/views.py @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import itertools diff --git a/ietf/ietfauth/forms.py b/ietf/ietfauth/forms.py index a56258140..b6a680cb8 100644 --- a/ietf/ietfauth/forms.py +++ b/ietf/ietfauth/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re from unidecode import unidecode diff --git a/ietf/ietfauth/htpasswd.py b/ietf/ietfauth/htpasswd.py index cc42a5d8a..3716d9860 100644 --- a/ietf/ietfauth/htpasswd.py +++ b/ietf/ietfauth/htpasswd.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import subprocess, hashlib from django.utils.encoding import force_bytes diff --git a/ietf/ietfauth/management/commands/send_apikey_usage_emails.py b/ietf/ietfauth/management/commands/send_apikey_usage_emails.py index ad671c218..557866de3 100644 --- a/ietf/ietfauth/management/commands/send_apikey_usage_emails.py +++ b/ietf/ietfauth/management/commands/send_apikey_usage_emails.py @@ -1,9 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved -from __future__ import absolute_import, print_function, unicode_literals - import datetime from textwrap import dedent diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py index 56c888ed1..e381893d6 100644 --- a/ietf/ietfauth/tests.py +++ b/ietf/ietfauth/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os, shutil, time, datetime from urllib.parse import urlsplit diff --git a/ietf/ietfauth/utils.py b/ietf/ietfauth/utils.py index f51509f54..34d410980 100644 --- a/ietf/ietfauth/utils.py +++ b/ietf/ietfauth/utils.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # various authentication and authorization utilities from functools import wraps diff --git a/ietf/ietfauth/views.py b/ietf/ietfauth/views.py index 859c9cedb..c12275bf1 100644 --- a/ietf/ietfauth/views.py +++ b/ietf/ietfauth/views.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- # # Portions Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import importlib from datetime import datetime as DateTime, timedelta as TimeDelta, date as Date diff --git a/ietf/ipr/admin.py b/ietf/ipr/admin.py index bcc0c33aa..a0185f58c 100644 --- a/ietf/ipr/admin.py +++ b/ietf/ipr/admin.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import forms from django.contrib import admin from ietf.name.models import DocRelationshipName diff --git a/ietf/ipr/factories.py b/ietf/ipr/factories.py index cf07d6d24..3d31895b7 100644 --- a/ietf/ipr/factories.py +++ b/ietf/ipr/factories.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import factory diff --git a/ietf/ipr/feeds.py b/ietf/ipr/feeds.py index 7b8f1938f..b5f4c4e6a 100644 --- a/ietf/ipr/feeds.py +++ b/ietf/ipr/feeds.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib.syndication.views import Feed from django.utils.feedgenerator import Atom1Feed from django.urls import reverse_lazy diff --git a/ietf/ipr/fields.py b/ietf/ipr/fields.py index bdad3f972..d842e0e14 100644 --- a/ietf/ipr/fields.py +++ b/ietf/ipr/fields.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import json from django.utils.html import escape diff --git a/ietf/ipr/forms.py b/ietf/ipr/forms.py index 52e9e8627..2f7e89ef0 100644 --- a/ietf/ipr/forms.py +++ b/ietf/ipr/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import email diff --git a/ietf/ipr/mail.py b/ietf/ipr/mail.py index ec875b05a..5995f7944 100644 --- a/ietf/ipr/mail.py +++ b/ietf/ipr/mail.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import base64 import email import datetime diff --git a/ietf/ipr/management/commands/process_email.py b/ietf/ipr/management/commands/process_email.py index 0bb200ff6..1d3c1b2e3 100644 --- a/ietf/ipr/management/commands/process_email.py +++ b/ietf/ipr/management/commands/process_email.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import sys diff --git a/ietf/ipr/migrations/0001_initial.py b/ietf/ipr/migrations/0001_initial.py index 668d8e1df..e370d3d5a 100644 --- a/ietf/ipr/migrations/0001_initial.py +++ b/ietf/ipr/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/ipr/migrations/0002_auto_20180225_1207.py b/ietf/ipr/migrations/0002_auto_20180225_1207.py index 01c1fa9b1..3f34a491d 100644 --- a/ietf/ipr/migrations/0002_auto_20180225_1207.py +++ b/ietf/ipr/migrations/0002_auto_20180225_1207.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-25 12:07 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py b/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py index 35576ffb3..e5ac7f441 100644 --- a/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py +++ b/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 11:58 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/ipr/migrations/0004_remove_iprdocrel_document.py b/ietf/ipr/migrations/0004_remove_iprdocrel_document.py index 2439193a6..d5af9d947 100644 --- a/ietf/ipr/migrations/0004_remove_iprdocrel_document.py +++ b/ietf/ipr/migrations/0004_remove_iprdocrel_document.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-20 09:53 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/ipr/migrations/0005_rename_field_document2.py b/ietf/ipr/migrations/0005_rename_field_document2.py index 6db908888..4fef4c227 100644 --- a/ietf/ipr/migrations/0005_rename_field_document2.py +++ b/ietf/ipr/migrations/0005_rename_field_document2.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 05:31 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/ipr/migrations/0006_document_primary_key_cleanup.py b/ietf/ipr/migrations/0006_document_primary_key_cleanup.py index 32dca70c4..df8f66c54 100644 --- a/ietf/ipr/migrations/0006_document_primary_key_cleanup.py +++ b/ietf/ipr/migrations/0006_document_primary_key_cleanup.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-06-10 03:42 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/ipr/migrations/0007_create_ipr_doc_events.py b/ietf/ipr/migrations/0007_create_ipr_doc_events.py index d5f17ab43..395bc11ce 100644 --- a/ietf/ipr/migrations/0007_create_ipr_doc_events.py +++ b/ietf/ipr/migrations/0007_create_ipr_doc_events.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.27 on 2020-01-17 12:32 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/ipr/models.py b/ietf/ipr/models.py index 9e6c3bc26..e38f7f5cc 100644 --- a/ietf/ipr/models.py +++ b/ietf/ipr/models.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.conf import settings diff --git a/ietf/ipr/templatetags/ipr_filters.py b/ietf/ipr/templatetags/ipr_filters.py index 43bf90234..19586d1eb 100644 --- a/ietf/ipr/templatetags/ipr_filters.py +++ b/ietf/ipr/templatetags/ipr_filters.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import template from django.utils.html import format_html diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py index 4acc2d953..6542d4d28 100644 --- a/ietf/ipr/tests.py +++ b/ietf/ipr/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime diff --git a/ietf/ipr/utils.py b/ietf/ipr/utils.py index b31d5195a..69e03087f 100644 --- a/ietf/ipr/utils.py +++ b/ietf/ipr/utils.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import debug # pyflakes:ignore def get_genitive(name): diff --git a/ietf/ipr/views.py b/ietf/ipr/views.py index 238e32973..300fc5d78 100644 --- a/ietf/ipr/views.py +++ b/ietf/ipr/views.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import itertools diff --git a/ietf/liaisons/__init__.py b/ietf/liaisons/__init__.py index fd066bea4..fc762171a 100644 --- a/ietf/liaisons/__init__.py +++ b/ietf/liaisons/__init__.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from types import ModuleType # These people will be sent a stack trace if there's an uncaught exception in diff --git a/ietf/liaisons/admin.py b/ietf/liaisons/admin.py index b78152c10..8159e4866 100644 --- a/ietf/liaisons/admin.py +++ b/ietf/liaisons/admin.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib import admin from django.urls import reverse diff --git a/ietf/liaisons/feeds.py b/ietf/liaisons/feeds.py index 21920935a..f4411a805 100644 --- a/ietf/liaisons/feeds.py +++ b/ietf/liaisons/feeds.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re from django.contrib.syndication.views import Feed, FeedDoesNotExist diff --git a/ietf/liaisons/fields.py b/ietf/liaisons/fields.py index ffed1cc54..031e8379b 100644 --- a/ietf/liaisons/fields.py +++ b/ietf/liaisons/fields.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import json from django.utils.html import escape diff --git a/ietf/liaisons/forms.py b/ietf/liaisons/forms.py index 5bab1ba64..7ad5b2dd9 100644 --- a/ietf/liaisons/forms.py +++ b/ietf/liaisons/forms.py @@ -2,14 +2,11 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import datetime, os import operator -import six -if six.PY3: - from typing import Union # pyflakes:ignore + +from typing import Union # pyflakes:ignore from email.utils import parseaddr from form_utils.forms import BetterModelForm diff --git a/ietf/liaisons/mails.py b/ietf/liaisons/mails.py index caba5d366..47f18c75b 100644 --- a/ietf/liaisons/mails.py +++ b/ietf/liaisons/mails.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.conf import settings diff --git a/ietf/liaisons/management/commands/check_liaison_deadlines.py b/ietf/liaisons/management/commands/check_liaison_deadlines.py index 77032fe4b..84faa5fed 100644 --- a/ietf/liaisons/management/commands/check_liaison_deadlines.py +++ b/ietf/liaisons/management/commands/check_liaison_deadlines.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.core.management.base import BaseCommand diff --git a/ietf/liaisons/management/commands/remind_update_sdo_list.py b/ietf/liaisons/management/commands/remind_update_sdo_list.py index 264b11b21..e9966d783 100644 --- a/ietf/liaisons/management/commands/remind_update_sdo_list.py +++ b/ietf/liaisons/management/commands/remind_update_sdo_list.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.core.management.base import BaseCommand from ietf.group.models import Group diff --git a/ietf/liaisons/migrations/0001_initial.py b/ietf/liaisons/migrations/0001_initial.py index 6071f82de..7b58564ff 100644 --- a/ietf/liaisons/migrations/0001_initial.py +++ b/ietf/liaisons/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/liaisons/migrations/0002_auto_20180225_1207.py b/ietf/liaisons/migrations/0002_auto_20180225_1207.py index f848a0391..62a9b8a13 100644 --- a/ietf/liaisons/migrations/0002_auto_20180225_1207.py +++ b/ietf/liaisons/migrations/0002_auto_20180225_1207.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-25 12:07 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/liaisons/migrations/0003_liaison_document2_fk.py b/ietf/liaisons/migrations/0003_liaison_document2_fk.py index b46ced747..5fdf0f0f4 100644 --- a/ietf/liaisons/migrations/0003_liaison_document2_fk.py +++ b/ietf/liaisons/migrations/0003_liaison_document2_fk.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 11:58 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py b/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py index 30a697d58..3f5868ef2 100644 --- a/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py +++ b/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-20 09:53 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/liaisons/migrations/0005_rename_field_document2.py b/ietf/liaisons/migrations/0005_rename_field_document2.py index c557b3360..ddb800573 100644 --- a/ietf/liaisons/migrations/0005_rename_field_document2.py +++ b/ietf/liaisons/migrations/0005_rename_field_document2.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 05:31 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py b/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py index bc2918667..cae4b0ab1 100644 --- a/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py +++ b/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-06-10 03:47 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/liaisons/models.py b/ietf/liaisons/models.py index 70e1339af..0cacfcb27 100644 --- a/ietf/liaisons/models.py +++ b/ietf/liaisons/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.urls import reverse as urlreverse from django.db import models diff --git a/ietf/liaisons/tests.py b/ietf/liaisons/tests.py index c5cd80b27..c149abd38 100644 --- a/ietf/liaisons/tests.py +++ b/ietf/liaisons/tests.py @@ -1,14 +1,11 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os import shutil -import six import debug # pyflakes:ignore @@ -241,7 +238,7 @@ class ManagementCommandTests(TestCase): LiaisonStatementFactory(deadline=datetime.date.today()+datetime.timedelta(days=1)) - out = six.StringIO() + out = io.StringIO() mailbox_before = len(outbox) call_command('check_liaison_deadlines',stdout=out) self.assertEqual(len(outbox), mailbox_before + 1) @@ -251,7 +248,7 @@ class ManagementCommandTests(TestCase): RoleFactory(name_id='liaiman',group__type_id='sdo') - out = six.StringIO() + out = io.StringIO() mailbox_before = len(outbox) call_command('remind_update_sdo_list',stdout=out) self.assertTrue(len(outbox) > mailbox_before) diff --git a/ietf/liaisons/views.py b/ietf/liaisons/views.py index 0b68cf8b6..51e6225c6 100644 --- a/ietf/liaisons/views.py +++ b/ietf/liaisons/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import json from email.utils import parseaddr diff --git a/ietf/liaisons/widgets.py b/ietf/liaisons/widgets.py index c29700653..a4e807f61 100644 --- a/ietf/liaisons/widgets.py +++ b/ietf/liaisons/widgets.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.urls import reverse as urlreverse from django.db.models.query import QuerySet from django.forms.widgets import Widget diff --git a/ietf/mailinglists/factories.py b/ietf/mailinglists/factories.py index d713cbbde..1949cafc6 100644 --- a/ietf/mailinglists/factories.py +++ b/ietf/mailinglists/factories.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import factory import random diff --git a/ietf/mailinglists/migrations/0001_initial.py b/ietf/mailinglists/migrations/0001_initial.py index 0ddb625a0..52c04861c 100644 --- a/ietf/mailinglists/migrations/0001_initial.py +++ b/ietf/mailinglists/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import django.core.validators from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/mailinglists/migrations/0002_auto_20190703_1344.py b/ietf/mailinglists/migrations/0002_auto_20190703_1344.py index a99b72323..b55c482a2 100644 --- a/ietf/mailinglists/migrations/0002_auto_20190703_1344.py +++ b/ietf/mailinglists/migrations/0002_auto_20190703_1344.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # Generated by Django 1.11.22 on 2019-07-03 13:44 -from __future__ import unicode_literals + import django.core.validators from django.db import migrations, models diff --git a/ietf/mailinglists/models.py b/ietf/mailinglists/models.py index 239583fae..ef066c5ed 100644 --- a/ietf/mailinglists/models.py +++ b/ietf/mailinglists/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.core.validators import validate_email from django.db import models diff --git a/ietf/mailinglists/tests.py b/ietf/mailinglists/tests.py index 34b555d91..543904991 100644 --- a/ietf/mailinglists/tests.py +++ b/ietf/mailinglists/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from pyquery import PyQuery from django.urls import reverse as urlreverse diff --git a/ietf/mailtrigger/forms.py b/ietf/mailtrigger/forms.py index 7cc08156f..366c429d8 100644 --- a/ietf/mailtrigger/forms.py +++ b/ietf/mailtrigger/forms.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from typing import Dict, List # pyflakes:ignore from django import forms diff --git a/ietf/mailtrigger/migrations/0001_initial.py b/ietf/mailtrigger/migrations/0001_initial.py index 40ecf4112..37de9a646 100644 --- a/ietf/mailtrigger/migrations/0001_initial.py +++ b/ietf/mailtrigger/migrations/0001_initial.py @@ -3,8 +3,6 @@ # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from typing import List, Tuple # pyflakes:ignore from django.db import migrations, models diff --git a/ietf/mailtrigger/migrations/0002_conflrev_changes.py b/ietf/mailtrigger/migrations/0002_conflrev_changes.py index 3330e196d..858d3a11d 100644 --- a/ietf/mailtrigger/migrations/0002_conflrev_changes.py +++ b/ietf/mailtrigger/migrations/0002_conflrev_changes.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-05-21 12:07 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py b/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py index b8eebea5e..5abf17538 100644 --- a/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py +++ b/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-02 11:34 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py b/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py index 411fc68b1..50fb71a51 100644 --- a/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py +++ b/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-03 00:24 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/mailtrigger/migrations/0005_slides_proposed.py b/ietf/mailtrigger/migrations/0005_slides_proposed.py index 8efa3397d..88af91281 100644 --- a/ietf/mailtrigger/migrations/0005_slides_proposed.py +++ b/ietf/mailtrigger/migrations/0005_slides_proposed.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-03-25 06:11 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py b/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py index a380a20a1..8b7936d90 100644 --- a/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py +++ b/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py b/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py index 8d41037d1..91a963d18 100644 --- a/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py +++ b/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py @@ -1,7 +1,6 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals from django.db import migrations diff --git a/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py b/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py index fe5f83dd9..df83bdb5f 100644 --- a/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py +++ b/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-08-30 09:02 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py b/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py index ec0acfdf5..496d4658f 100644 --- a/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py +++ b/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py @@ -1,7 +1,6 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals from django.db import migrations diff --git a/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py b/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py index 701870317..384c55e8f 100644 --- a/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py +++ b/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py @@ -1,7 +1,6 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals from django.db import migrations diff --git a/ietf/mailtrigger/migrations/0011_ietf_last_call.py b/ietf/mailtrigger/migrations/0011_ietf_last_call.py index 15e29ac09..6999d64f9 100644 --- a/ietf/mailtrigger/migrations/0011_ietf_last_call.py +++ b/ietf/mailtrigger/migrations/0011_ietf_last_call.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-04 12:12 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py b/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py index 571917413..5302a0c89 100644 --- a/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py +++ b/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-04 13:12 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py b/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py index 7fe3cfd65..a7400e48a 100644 --- a/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py +++ b/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-04 13:12 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/mailtrigger/models.py b/ietf/mailtrigger/models.py index 6942ec222..48e7d3f18 100644 --- a/ietf/mailtrigger/models.py +++ b/ietf/mailtrigger/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import models from django.template import Template, Context from django.utils.encoding import python_2_unicode_compatible diff --git a/ietf/mailtrigger/test_utils.py b/ietf/mailtrigger/test_utils.py index b00000d1f..aef1a2997 100644 --- a/ietf/mailtrigger/test_utils.py +++ b/ietf/mailtrigger/test_utils.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from ietf.doc.factories import WgDraftFactory from ietf.mailtrigger.models import MailTrigger from .utils import gather_address_lists diff --git a/ietf/mailtrigger/tests.py b/ietf/mailtrigger/tests.py index 91fcc1f19..e7fef7fa9 100644 --- a/ietf/mailtrigger/tests.py +++ b/ietf/mailtrigger/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.urls import reverse as urlreverse from ietf.utils.test_utils import TestCase diff --git a/ietf/meeting/admin.py b/ietf/meeting/admin.py index 23d9ba316..f8477ce2f 100644 --- a/ietf/meeting/admin.py +++ b/ietf/meeting/admin.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib import admin from ietf.meeting.models import (Meeting, Room, Session, TimeSlot, Constraint, Schedule, diff --git a/ietf/meeting/factories.py b/ietf/meeting/factories.py index 20bbf8530..ef91afcb5 100644 --- a/ietf/meeting/factories.py +++ b/ietf/meeting/factories.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import factory import random import datetime diff --git a/ietf/meeting/feeds.py b/ietf/meeting/feeds.py index 66c834ea1..61c010c5e 100644 --- a/ietf/meeting/feeds.py +++ b/ietf/meeting/feeds.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os from django.contrib.syndication.views import Feed diff --git a/ietf/meeting/forms.py b/ietf/meeting/forms.py index 9028a3eaa..a87c12c1f 100644 --- a/ietf/meeting/forms.py +++ b/ietf/meeting/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import datetime diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py index e5c77a10e..233686fa2 100644 --- a/ietf/meeting/helpers.py +++ b/ietf/meeting/helpers.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/meeting/management/commands/update_important_dates.py b/ietf/meeting/management/commands/update_important_dates.py index 8689ba7b3..c1a6ad424 100644 --- a/ietf/meeting/management/commands/update_important_dates.py +++ b/ietf/meeting/management/commands/update_important_dates.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.core.management.base import BaseCommand diff --git a/ietf/meeting/migrations/0001_initial.py b/ietf/meeting/migrations/0001_initial.py index c8f5aa48d..668fd0392 100644 --- a/ietf/meeting/migrations/0001_initial.py +++ b/ietf/meeting/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import datetime import django.core.validators from django.db import migrations, models diff --git a/ietf/meeting/migrations/0002_auto_20180225_1207.py b/ietf/meeting/migrations/0002_auto_20180225_1207.py index 55709244c..523dd66bc 100644 --- a/ietf/meeting/migrations/0002_auto_20180225_1207.py +++ b/ietf/meeting/migrations/0002_auto_20180225_1207.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-25 12:07 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/meeting/migrations/0003_rename_modified_fields.py b/ietf/meeting/migrations/0003_rename_modified_fields.py index c63aa49a8..4b1dbbe85 100644 --- a/ietf/meeting/migrations/0003_rename_modified_fields.py +++ b/ietf/meeting/migrations/0003_rename_modified_fields.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-03-02 14:33 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/meeting/migrations/0004_meeting_attendees.py b/ietf/meeting/migrations/0004_meeting_attendees.py index 502b0b126..a92945924 100644 --- a/ietf/meeting/migrations/0004_meeting_attendees.py +++ b/ietf/meeting/migrations/0004_meeting_attendees.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.11 on 2018-03-20 09:17 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/meeting/migrations/0005_backfill_old_meetings.py b/ietf/meeting/migrations/0005_backfill_old_meetings.py index af245617c..928ed4afd 100644 --- a/ietf/meeting/migrations/0005_backfill_old_meetings.py +++ b/ietf/meeting/migrations/0005_backfill_old_meetings.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/meeting/migrations/0006_backfill_attendees.py b/ietf/meeting/migrations/0006_backfill_attendees.py index 2e4103c16..212260d72 100644 --- a/ietf/meeting/migrations/0006_backfill_attendees.py +++ b/ietf/meeting/migrations/0006_backfill_attendees.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/meeting/migrations/0007_auto_20180716_1337.py b/ietf/meeting/migrations/0007_auto_20180716_1337.py index 3079d4cf6..a20d9dba9 100644 --- a/ietf/meeting/migrations/0007_auto_20180716_1337.py +++ b/ietf/meeting/migrations/0007_auto_20180716_1337.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.14 on 2018-07-16 13:37 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py b/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py index 528bb2afd..884940c22 100644 --- a/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py +++ b/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-10-09 13:09 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/meeting/migrations/0009_add_agenda_info_note.py b/ietf/meeting/migrations/0009_add_agenda_info_note.py index 0f527ecaf..8fc4fdb46 100644 --- a/ietf/meeting/migrations/0009_add_agenda_info_note.py +++ b/ietf/meeting/migrations/0009_add_agenda_info_note.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-10-09 14:07 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py b/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py index 92bbd6a24..bb3148f78 100644 --- a/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py +++ b/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-10-09 14:23 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps,schema_editor): diff --git a/ietf/meeting/migrations/0011_auto_20190114_0550.py b/ietf/meeting/migrations/0011_auto_20190114_0550.py index 9e775980a..50b8b71ec 100644 --- a/ietf/meeting/migrations/0011_auto_20190114_0550.py +++ b/ietf/meeting/migrations/0011_auto_20190114_0550.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-14 05:50 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/meeting/migrations/0012_add_slide_submissions.py b/ietf/meeting/migrations/0012_add_slide_submissions.py index 617809de0..e1a798d59 100644 --- a/ietf/meeting/migrations/0012_add_slide_submissions.py +++ b/ietf/meeting/migrations/0012_add_slide_submissions.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-03-23 07:41 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/meeting/migrations/0013_make_separate_break_sessobj.py b/ietf/meeting/migrations/0013_make_separate_break_sessobj.py index 359f75ce5..ceea5179d 100644 --- a/ietf/meeting/migrations/0013_make_separate_break_sessobj.py +++ b/ietf/meeting/migrations/0013_make_separate_break_sessobj.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-03-23 06:11 -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.db import migrations diff --git a/ietf/meeting/migrations/0014_auto_20190426_0305.py b/ietf/meeting/migrations/0014_auto_20190426_0305.py index d3ff2084f..8f4b6b0b3 100644 --- a/ietf/meeting/migrations/0014_auto_20190426_0305.py +++ b/ietf/meeting/migrations/0014_auto_20190426_0305.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-04-26 03:05 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py b/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py index 8354d546e..257a5060c 100644 --- a/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py +++ b/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 11:58 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py b/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py index 724bfcfc0..e93baaa33 100644 --- a/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py +++ b/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 03:57 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/meeting/migrations/0017_rename_field_document2.py b/ietf/meeting/migrations/0017_rename_field_document2.py index 5095a33ff..5965d8d20 100644 --- a/ietf/meeting/migrations/0017_rename_field_document2.py +++ b/ietf/meeting/migrations/0017_rename_field_document2.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 05:31 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/meeting/migrations/0018_document_primary_key_cleanup.py b/ietf/meeting/migrations/0018_document_primary_key_cleanup.py index 786530908..749caa443 100644 --- a/ietf/meeting/migrations/0018_document_primary_key_cleanup.py +++ b/ietf/meeting/migrations/0018_document_primary_key_cleanup.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-06-10 03:47 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/meeting/migrations/0019_slidesubmission_time.py b/ietf/meeting/migrations/0019_slidesubmission_time.py index 0cdfd1fea..3dc0e2c52 100644 --- a/ietf/meeting/migrations/0019_slidesubmission_time.py +++ b/ietf/meeting/migrations/0019_slidesubmission_time.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.22 on 2019-07-21 14:03 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/meeting/migrations/0020_remove_future_break_sessions.py b/ietf/meeting/migrations/0020_remove_future_break_sessions.py index 9ea104043..5d2569b1c 100644 --- a/ietf/meeting/migrations/0020_remove_future_break_sessions.py +++ b/ietf/meeting/migrations/0020_remove_future_break_sessions.py @@ -1,8 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.22 on 2019-07-22 14:56 -from __future__ import unicode_literals import datetime from django.db import migrations diff --git a/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py b/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py index 63bc646e7..5399968cb 100644 --- a/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py +++ b/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.26 on 2019-11-18 04:01 -from __future__ import unicode_literals + from django.db import migrations import django.db.models.deletion diff --git a/ietf/meeting/migrations/0022_schedulingevent.py b/ietf/meeting/migrations/0022_schedulingevent.py index 4ea0091ac..22602a06b 100644 --- a/ietf/meeting/migrations/0022_schedulingevent.py +++ b/ietf/meeting/migrations/0022_schedulingevent.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.26 on 2019-11-19 02:41 -from __future__ import unicode_literals + import datetime from django.db import migrations, models diff --git a/ietf/meeting/migrations/0023_create_scheduling_events.py b/ietf/meeting/migrations/0023_create_scheduling_events.py index d1d07d149..5adcdd59e 100644 --- a/ietf/meeting/migrations/0023_create_scheduling_events.py +++ b/ietf/meeting/migrations/0023_create_scheduling_events.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.26 on 2019-11-19 02:42 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/meeting/migrations/0024_auto_20191204_1731.py b/ietf/meeting/migrations/0024_auto_20191204_1731.py index 7f7454137..828611bb9 100644 --- a/ietf/meeting/migrations/0024_auto_20191204_1731.py +++ b/ietf/meeting/migrations/0024_auto_20191204_1731.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.26 on 2019-12-04 17:31 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/meeting/migrations/0025_rename_type_session_to_regular.py b/ietf/meeting/migrations/0025_rename_type_session_to_regular.py index 51d747a0d..1eeac57b5 100644 --- a/ietf/meeting/migrations/0025_rename_type_session_to_regular.py +++ b/ietf/meeting/migrations/0025_rename_type_session_to_regular.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.26 on 2019-12-06 11:13 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index f802b7539..111711382 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -1,6 +1,6 @@ # Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + # old meeting models can be found in ../proceedings/models.py diff --git a/ietf/meeting/templatetags/agenda_custom_tags.py b/ietf/meeting/templatetags/agenda_custom_tags.py index a1501ab64..b04227f23 100644 --- a/ietf/meeting/templatetags/agenda_custom_tags.py +++ b/ietf/meeting/templatetags/agenda_custom_tags.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import template register = template.Library() diff --git a/ietf/meeting/test_data.py b/ietf/meeting/test_data.py index 3c72a4bc1..5ce91cd86 100644 --- a/ietf/meeting/test_data.py +++ b/ietf/meeting/test_data.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.utils.text import slugify diff --git a/ietf/meeting/tests_api.py b/ietf/meeting/tests_api.py index 192222b9b..3bfcec2d0 100644 --- a/ietf/meeting/tests_api.py +++ b/ietf/meeting/tests_api.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from urllib.parse import urlsplit diff --git a/ietf/meeting/tests_js.py b/ietf/meeting/tests_js.py index bf756ddcd..de96f1424 100644 --- a/ietf/meeting/tests_js.py +++ b/ietf/meeting/tests_js.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import sys import time from pyquery import PyQuery diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 32efcfa38..b8c8ca0dc 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/meeting/utils.py b/ietf/meeting/utils.py index b9e855a4a..4c337be54 100644 --- a/ietf/meeting/utils.py +++ b/ietf/meeting/utils.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import json import urllib.request diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index a390dccfc..2d872a676 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import csv import datetime import glob diff --git a/ietf/message/management/commands/send_messages.py b/ietf/message/management/commands/send_messages.py index 3eea53034..4593eab57 100644 --- a/ietf/message/management/commands/send_messages.py +++ b/ietf/message/management/commands/send_messages.py @@ -1,8 +1,6 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import email import smtplib diff --git a/ietf/message/management/commands/show_messages.py b/ietf/message/management/commands/show_messages.py index 9581eedb1..b232da481 100644 --- a/ietf/message/management/commands/show_messages.py +++ b/ietf/message/management/commands/show_messages.py @@ -1,7 +1,6 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals import email import datetime diff --git a/ietf/message/migrations/0001_initial.py b/ietf/message/migrations/0001_initial.py index 3fc073cbd..c9e850dfb 100644 --- a/ietf/message/migrations/0001_initial.py +++ b/ietf/message/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/message/migrations/0002_add_message_docs2_m2m.py b/ietf/message/migrations/0002_add_message_docs2_m2m.py index 1402fa8d8..c6a138ba6 100644 --- a/ietf/message/migrations/0002_add_message_docs2_m2m.py +++ b/ietf/message/migrations/0002_add_message_docs2_m2m.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 14:23 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/message/migrations/0003_set_document_m2m_keys.py b/ietf/message/migrations/0003_set_document_m2m_keys.py index 493adc2ee..6429af443 100644 --- a/ietf/message/migrations/0003_set_document_m2m_keys.py +++ b/ietf/message/migrations/0003_set_document_m2m_keys.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 14:27 -from __future__ import absolute_import, print_function, unicode_literals - import sys from tqdm import tqdm diff --git a/ietf/message/migrations/0004_1_del_docs_m2m_table.py b/ietf/message/migrations/0004_1_del_docs_m2m_table.py index 670609fc7..7b116789d 100644 --- a/ietf/message/migrations/0004_1_del_docs_m2m_table.py +++ b/ietf/message/migrations/0004_1_del_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-22 08:01 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/message/migrations/0004_2_add_docs_m2m_table.py b/ietf/message/migrations/0004_2_add_docs_m2m_table.py index 9da02c6e6..4f24a26fe 100644 --- a/ietf/message/migrations/0004_2_add_docs_m2m_table.py +++ b/ietf/message/migrations/0004_2_add_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-22 08:01 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/message/migrations/0005_copy_docs_m2m_table.py b/ietf/message/migrations/0005_copy_docs_m2m_table.py index f85def627..8f7c18588 100644 --- a/ietf/message/migrations/0005_copy_docs_m2m_table.py +++ b/ietf/message/migrations/0005_copy_docs_m2m_table.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-27 05:56 -from __future__ import absolute_import, print_function, unicode_literals - import sys, time from django.db import migrations diff --git a/ietf/message/migrations/0006_remove_docs2_m2m.py b/ietf/message/migrations/0006_remove_docs2_m2m.py index 58743da07..97e3ef5f0 100644 --- a/ietf/message/migrations/0006_remove_docs2_m2m.py +++ b/ietf/message/migrations/0006_remove_docs2_m2m.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-30 03:32 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/message/migrations/0007_message_sent.py b/ietf/message/migrations/0007_message_sent.py index 611c3843f..9ab1a4041 100644 --- a/ietf/message/migrations/0007_message_sent.py +++ b/ietf/message/migrations/0007_message_sent.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.27 on 2020-02-22 09:29 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/message/migrations/0008_set_message_sent.py b/ietf/message/migrations/0008_set_message_sent.py index 5d4bb805a..281099305 100644 --- a/ietf/message/migrations/0008_set_message_sent.py +++ b/ietf/message/migrations/0008_set_message_sent.py @@ -3,8 +3,6 @@ # Generated by Django 1.11.20 on 2019-05-21 14:27 -from __future__ import absolute_import, print_function, unicode_literals - from tqdm import tqdm from django.db import migrations diff --git a/ietf/message/migrations/0009_fix_address_lists.py b/ietf/message/migrations/0009_fix_address_lists.py index 736225da8..e14b6511c 100644 --- a/ietf/message/migrations/0009_fix_address_lists.py +++ b/ietf/message/migrations/0009_fix_address_lists.py @@ -3,8 +3,6 @@ # Generated by Django 1.11.20 on 2019-05-21 14:27 -from __future__ import absolute_import, print_function, unicode_literals - from tqdm import tqdm from django.db import migrations diff --git a/ietf/message/migrations/0010_fix_content_type.py b/ietf/message/migrations/0010_fix_content_type.py index e2b6c7152..074114290 100644 --- a/ietf/message/migrations/0010_fix_content_type.py +++ b/ietf/message/migrations/0010_fix_content_type.py @@ -3,8 +3,6 @@ # Generated by Django 1.11.20 on 2019-05-21 14:27 -from __future__ import absolute_import, print_function, unicode_literals - from tqdm import tqdm from django.db import migrations diff --git a/ietf/message/models.py b/ietf/message/models.py index d66564228..3c8bbd0c9 100644 --- a/ietf/message/models.py +++ b/ietf/message/models.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import email.utils diff --git a/ietf/message/tests.py b/ietf/message/tests.py index a499344c7..c610cdbb1 100644 --- a/ietf/message/tests.py +++ b/ietf/message/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.urls import reverse as urlreverse diff --git a/ietf/message/utils.py b/ietf/message/utils.py index 4ee1b0033..1acda232a 100644 --- a/ietf/message/utils.py +++ b/ietf/message/utils.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re, datetime, email from django.utils.encoding import force_str diff --git a/ietf/middleware.py b/ietf/middleware.py index b0759894e..3e1579561 100644 --- a/ietf/middleware.py +++ b/ietf/middleware.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import connection from django.db.utils import OperationalError from django.shortcuts import render diff --git a/ietf/name/management/commands/generate_name_fixture.py b/ietf/name/management/commands/generate_name_fixture.py index 5409286e4..4db04bb50 100644 --- a/ietf/name/management/commands/generate_name_fixture.py +++ b/ietf/name/management/commands/generate_name_fixture.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved #!/usr/bin/python # simple script for exporting name related base data for the tests @@ -6,9 +6,8 @@ import inspect import io import os, sys -import six -if six.PY3: - from typing import Any, List # pyflakes:ignore + +from typing import Any, List # pyflakes:ignore from django.conf import settings diff --git a/ietf/name/migrations/0001_initial.py b/ietf/name/migrations/0001_initial.py index 6dafea236..075054504 100644 --- a/ietf/name/migrations/0001_initial.py +++ b/ietf/name/migrations/0001_initial.py @@ -1,13 +1,9 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - -import six -if six.PY3: - from typing import List, Tuple # pyflakes:ignore +from typing import List, Tuple # pyflakes:ignore from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/name/migrations/0002_agendatypename.py b/ietf/name/migrations/0002_agendatypename.py index cf9f42950..f916f60da 100644 --- a/ietf/name/migrations/0002_agendatypename.py +++ b/ietf/name/migrations/0002_agendatypename.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-07-10 13:47 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models class Migration(migrations.Migration): diff --git a/ietf/name/migrations/0003_agendatypename_data.py b/ietf/name/migrations/0003_agendatypename_data.py index 48d72129d..4db2056d7 100644 --- a/ietf/name/migrations/0003_agendatypename_data.py +++ b/ietf/name/migrations/0003_agendatypename_data.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-07-10 13:47 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations agenda_type_names = ( diff --git a/ietf/name/migrations/0004_add_prefix_to_doctypenames.py b/ietf/name/migrations/0004_add_prefix_to_doctypenames.py index 038b7c2a5..05c103319 100644 --- a/ietf/name/migrations/0004_add_prefix_to_doctypenames.py +++ b/ietf/name/migrations/0004_add_prefix_to_doctypenames.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-10-19 11:34 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/name/migrations/0005_reviewassignmentstatename.py b/ietf/name/migrations/0005_reviewassignmentstatename.py index c8660920d..d75f9b774 100644 --- a/ietf/name/migrations/0005_reviewassignmentstatename.py +++ b/ietf/name/migrations/0005_reviewassignmentstatename.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-04 13:59 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/name/migrations/0006_adjust_statenames.py b/ietf/name/migrations/0006_adjust_statenames.py index 116e25f3c..6c6092407 100644 --- a/ietf/name/migrations/0006_adjust_statenames.py +++ b/ietf/name/migrations/0006_adjust_statenames.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-04 14:02 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/name/migrations/0007_fix_m2m_slug_id_length.py b/ietf/name/migrations/0007_fix_m2m_slug_id_length.py index 4449680f9..578415bc5 100644 --- a/ietf/name/migrations/0007_fix_m2m_slug_id_length.py +++ b/ietf/name/migrations/0007_fix_m2m_slug_id_length.py @@ -1,6 +1,6 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/name/migrations/0008_reviewerqueuepolicyname.py b/ietf/name/migrations/0008_reviewerqueuepolicyname.py index 7e9804245..caee6384b 100644 --- a/ietf/name/migrations/0008_reviewerqueuepolicyname.py +++ b/ietf/name/migrations/0008_reviewerqueuepolicyname.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-11-18 08:35 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py b/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py index ba64796a8..94c1134d6 100644 --- a/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py +++ b/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py @@ -1,7 +1,6 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals from django.db import migrations diff --git a/ietf/name/models.py b/ietf/name/models.py index 9e85999a8..f12040fc4 100644 --- a/ietf/name/models.py +++ b/ietf/name/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import models from django.utils.encoding import python_2_unicode_compatible diff --git a/ietf/nomcom/admin.py b/ietf/nomcom/admin.py index 10cea0be4..252a5f845 100644 --- a/ietf/nomcom/admin.py +++ b/ietf/nomcom/admin.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib import admin from ietf.nomcom.models import ( ReminderDates, NomCom, Nomination, Nominee, NomineePosition, diff --git a/ietf/nomcom/decorators.py b/ietf/nomcom/decorators.py index bbaebd0cd..a002f7c7e 100644 --- a/ietf/nomcom/decorators.py +++ b/ietf/nomcom/decorators.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import functools from django.urls import reverse diff --git a/ietf/nomcom/factories.py b/ietf/nomcom/factories.py index ef46291b8..a772a0424 100644 --- a/ietf/nomcom/factories.py +++ b/ietf/nomcom/factories.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import factory import random diff --git a/ietf/nomcom/fields.py b/ietf/nomcom/fields.py index be8c5ba6c..e64fce089 100644 --- a/ietf/nomcom/fields.py +++ b/ietf/nomcom/fields.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.db import models from django.utils.encoding import smart_str diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py index 84cb87664..52780d271 100644 --- a/ietf/nomcom/forms.py +++ b/ietf/nomcom/forms.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from typing import List, Tuple # pyflakes:ignore from django.conf import settings diff --git a/ietf/nomcom/management/commands/feedback_email.py b/ietf/nomcom/management/commands/feedback_email.py index 7774a6c08..fef340275 100644 --- a/ietf/nomcom/management/commands/feedback_email.py +++ b/ietf/nomcom/management/commands/feedback_email.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import sys diff --git a/ietf/nomcom/management/commands/make_dummy_nomcom.py b/ietf/nomcom/management/commands/make_dummy_nomcom.py index 2e34aba6a..417182b79 100644 --- a/ietf/nomcom/management/commands/make_dummy_nomcom.py +++ b/ietf/nomcom/management/commands/make_dummy_nomcom.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import socket from django.core.management.base import BaseCommand diff --git a/ietf/nomcom/management/commands/send_reminders.py b/ietf/nomcom/management/commands/send_reminders.py index a4a442de8..3dce0a361 100644 --- a/ietf/nomcom/management/commands/send_reminders.py +++ b/ietf/nomcom/management/commands/send_reminders.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import syslog diff --git a/ietf/nomcom/migrations/0001_initial.py b/ietf/nomcom/migrations/0001_initial.py index a2c41ff44..9ef8e5476 100644 --- a/ietf/nomcom/migrations/0001_initial.py +++ b/ietf/nomcom/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/nomcom/migrations/0002_auto_20180918_0550.py b/ietf/nomcom/migrations/0002_auto_20180918_0550.py index 9d32121c9..44fd8d4df 100644 --- a/ietf/nomcom/migrations/0002_auto_20180918_0550.py +++ b/ietf/nomcom/migrations/0002_auto_20180918_0550.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-18 05:50 -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.db import migrations import django.db.models.deletion diff --git a/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py b/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py index df2b37105..cc7d73283 100644 --- a/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py +++ b/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-26 11:10 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py b/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py index d3ab2f478..7f4746a27 100644 --- a/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py +++ b/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-26 11:12 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/nomcom/migrations/0005_auto_20181008_0602.py b/ietf/nomcom/migrations/0005_auto_20181008_0602.py index 9a5a37d4f..cd56b0993 100644 --- a/ietf/nomcom/migrations/0005_auto_20181008_0602.py +++ b/ietf/nomcom/migrations/0005_auto_20181008_0602.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-10-08 06:02 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/nomcom/migrations/0006_auto_20190716_1216.py b/ietf/nomcom/migrations/0006_auto_20190716_1216.py index ab355eb2f..7c3a374f4 100644 --- a/ietf/nomcom/migrations/0006_auto_20190716_1216.py +++ b/ietf/nomcom/migrations/0006_auto_20190716_1216.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.22 on 2019-07-16 12:16 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/nomcom/migrations/0007_position_is_iesg_position.py b/ietf/nomcom/migrations/0007_position_is_iesg_position.py index 25ebb48f9..edd4cf0f0 100644 --- a/ietf/nomcom/migrations/0007_position_is_iesg_position.py +++ b/ietf/nomcom/migrations/0007_position_is_iesg_position.py @@ -1,7 +1,7 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.27 on 2020-01-07 14:41 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/nomcom/models.py b/ietf/nomcom/models.py index 4a69bd238..53d9f375c 100644 --- a/ietf/nomcom/models.py +++ b/ietf/nomcom/models.py @@ -1,6 +1,6 @@ # Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + import os diff --git a/ietf/nomcom/test_data.py b/ietf/nomcom/test_data.py index 29d92029e..fc4c4fded 100644 --- a/ietf/nomcom/test_data.py +++ b/ietf/nomcom/test_data.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import tempfile import os diff --git a/ietf/nomcom/tests.py b/ietf/nomcom/tests.py index 44c975e01..0ecd441e8 100644 --- a/ietf/nomcom/tests.py +++ b/ietf/nomcom/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import random diff --git a/ietf/nomcom/utils.py b/ietf/nomcom/utils.py index c5d5f90ba..c416c1298 100644 --- a/ietf/nomcom/utils.py +++ b/ietf/nomcom/utils.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import hashlib import os diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py index 5480cc12c..68adaae2b 100644 --- a/ietf/nomcom/views.py +++ b/ietf/nomcom/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import re from collections import OrderedDict, Counter diff --git a/ietf/person/factories.py b/ietf/person/factories.py index e076b4ef7..7cbe621a9 100644 --- a/ietf/person/factories.py +++ b/ietf/person/factories.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import factory import faker import faker.config diff --git a/ietf/person/fields.py b/ietf/person/fields.py index 7f4fdbfb6..a90d0a62c 100644 --- a/ietf/person/fields.py +++ b/ietf/person/fields.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import json from collections import Counter diff --git a/ietf/person/forms.py b/ietf/person/forms.py index d146aa0b1..81ee36256 100644 --- a/ietf/person/forms.py +++ b/ietf/person/forms.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - from django import forms from ietf.person.models import Person diff --git a/ietf/person/management/commands/deactivate_email_addresses.py b/ietf/person/management/commands/deactivate_email_addresses.py index 04357dc9f..c91761987 100644 --- a/ietf/person/management/commands/deactivate_email_addresses.py +++ b/ietf/person/management/commands/deactivate_email_addresses.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import flufl.bounce import io import mailbox diff --git a/ietf/person/migrations/0001_initial.py b/ietf/person/migrations/0001_initial.py index 6e73eacbe..72f6c9105 100644 --- a/ietf/person/migrations/0001_initial.py +++ b/ietf/person/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.conf import settings import django.core.validators diff --git a/ietf/person/migrations/0002_auto_20180330_0808.py b/ietf/person/migrations/0002_auto_20180330_0808.py index 455389865..ec2d2d893 100644 --- a/ietf/person/migrations/0002_auto_20180330_0808.py +++ b/ietf/person/migrations/0002_auto_20180330_0808.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.11 on 2018-03-30 08:08 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/person/migrations/0003_auto_20180504_1519.py b/ietf/person/migrations/0003_auto_20180504_1519.py index b7e9cbd97..928c637c5 100644 --- a/ietf/person/migrations/0003_auto_20180504_1519.py +++ b/ietf/person/migrations/0003_auto_20180504_1519.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.12 on 2018-05-04 15:19 -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.conf import settings import django.core.validators diff --git a/ietf/person/migrations/0004_populate_email_origin.py b/ietf/person/migrations/0004_populate_email_origin.py index 5a07e0b83..147b7b70c 100644 --- a/ietf/person/migrations/0004_populate_email_origin.py +++ b/ietf/person/migrations/0004_populate_email_origin.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.12 on 2018-05-10 05:28 -from __future__ import absolute_import, print_function, unicode_literals - import sys from django.db import migrations diff --git a/ietf/person/migrations/0005_populate_person_name_from_draft.py b/ietf/person/migrations/0005_populate_person_name_from_draft.py index dc4cb829d..d83dd2284 100644 --- a/ietf/person/migrations/0005_populate_person_name_from_draft.py +++ b/ietf/person/migrations/0005_populate_person_name_from_draft.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.12 on 2018-05-10 05:28 -from __future__ import absolute_import, print_function, unicode_literals - import sys from django.db import migrations diff --git a/ietf/person/migrations/0006_auto_20180910_0719.py b/ietf/person/migrations/0006_auto_20180910_0719.py index 2a86ac351..9e17137a8 100644 --- a/ietf/person/migrations/0006_auto_20180910_0719.py +++ b/ietf/person/migrations/0006_auto_20180910_0719.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.13 on 2018-09-10 07:19 -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.db import migrations import django.db.models.deletion diff --git a/ietf/person/migrations/0007_auto_20180929_1303.py b/ietf/person/migrations/0007_auto_20180929_1303.py index 4c83b5177..b4e41d7fa 100644 --- a/ietf/person/migrations/0007_auto_20180929_1303.py +++ b/ietf/person/migrations/0007_auto_20180929_1303.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-29 13:03 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/person/migrations/0008_auto_20181014_1448.py b/ietf/person/migrations/0008_auto_20181014_1448.py index 9712919af..f6d765b02 100644 --- a/ietf/person/migrations/0008_auto_20181014_1448.py +++ b/ietf/person/migrations/0008_auto_20181014_1448.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-10-14 14:48 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/person/migrations/0009_auto_20190118_0725.py b/ietf/person/migrations/0009_auto_20190118_0725.py index 3ceb958b9..be609f109 100644 --- a/ietf/person/migrations/0009_auto_20190118_0725.py +++ b/ietf/person/migrations/0009_auto_20190118_0725.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-18 07:25 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/person/models.py b/ietf/person/models.py index 6a1f0bf6f..360b05790 100644 --- a/ietf/person/models.py +++ b/ietf/person/models.py @@ -2,12 +2,9 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import email.utils import email.header -import six import uuid from hashids import Hashids @@ -350,7 +347,7 @@ class PersonalApiKey(models.Model): @classmethod def validate_key(cls, s): import struct, hashlib, base64 - assert isinstance(s, six.binary_type) + assert isinstance(s, bytes) key = base64.urlsafe_b64decode(s) id, salt, hash = struct.unpack(KEY_STRUCT, key) k = cls.objects.filter(id=id) diff --git a/ietf/person/name.py b/ietf/person/name.py index bcae148d6..7edc0fe70 100644 --- a/ietf/person/name.py +++ b/ietf/person/name.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re import unidecode diff --git a/ietf/person/tests.py b/ietf/person/tests.py index fd3129e42..f0c7196b6 100644 --- a/ietf/person/tests.py +++ b/ietf/person/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from pyquery import PyQuery diff --git a/ietf/person/utils.py b/ietf/person/utils.py index 1f3e78b2a..8afe79791 100755 --- a/ietf/person/utils.py +++ b/ietf/person/utils.py @@ -1,13 +1,10 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import os import pprint -import six import sys import syslog @@ -55,13 +52,13 @@ def merge_persons(source, target, file=sys.stdout, verbose=False): objs, opts, user, admin_site, using) deletable_objects_summary = deletable_objects[1] if len(deletable_objects_summary) > 1: # should only inlcude one object (Person) - six.print_("Not Deleting Person: {}({})".format(source.ascii,source.pk), file=file) - six.print_("Related objects remain:", file=file) + print("Not Deleting Person: {}({})".format(source.ascii,source.pk), file=file) + print("Related objects remain:", file=file) pprint.pprint(deletable_objects[1], stream=file) success = False else: success = True - six.print_("Deleting Person: {}({})".format(source.ascii,source.pk), file=file) + print("Deleting Person: {}({})".format(source.ascii,source.pk), file=file) source.delete() return success, changes @@ -114,7 +111,7 @@ def move_related_objects(source, target, file, verbose=False): field_name = related_object.field.name queryset = getattr(source, accessor).all() if verbose: - six.print_("Merging {}:{}".format(accessor,queryset.count()), file=file) + print("Merging {}:{}".format(accessor,queryset.count()), file=file) kwargs = { field_name:target } queryset.update(**kwargs) diff --git a/ietf/person/views.py b/ietf/person/views.py index 59e0cc101..dade5c1ff 100644 --- a/ietf/person/views.py +++ b/ietf/person/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from io import StringIO diff --git a/ietf/redirects/models.py b/ietf/redirects/models.py index 6a3b702e5..c173c736c 100644 --- a/ietf/redirects/models.py +++ b/ietf/redirects/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import models from django.utils.encoding import python_2_unicode_compatible diff --git a/ietf/redirects/tests.py b/ietf/redirects/tests.py index 0337c68b1..7656a10ee 100644 --- a/ietf/redirects/tests.py +++ b/ietf/redirects/tests.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2009-2019, All Rights Reserved +# Copyright The IETF Trust 2009-2020, All Rights Reserved # -*- coding: utf-8 -*- # Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. Contact: Pasi Eronen @@ -33,8 +33,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - from ietf.utils.test_utils import split_url, TestCase import debug # pyflakes:ignore diff --git a/ietf/redirects/views.py b/ietf/redirects/views.py index 37d2b7645..597e39cec 100644 --- a/ietf/redirects/views.py +++ b/ietf/redirects/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.http import HttpResponsePermanentRedirect, Http404, BadHeaderError from django.shortcuts import get_object_or_404 import re diff --git a/ietf/release/tests.py b/ietf/release/tests.py index 3a4ac01a2..bb2d95100 100644 --- a/ietf/release/tests.py +++ b/ietf/release/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from pyquery import PyQuery from django.urls import reverse diff --git a/ietf/release/urls.py b/ietf/release/urls.py index 34d8605c7..0053d9f2c 100644 --- a/ietf/release/urls.py +++ b/ietf/release/urls.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.views.generic import TemplateView from ietf.release import views diff --git a/ietf/release/views.py b/ietf/release/views.py index 49b5bc123..1dc9a8ce5 100644 --- a/ietf/release/views.py +++ b/ietf/release/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import re diff --git a/ietf/review/admin.py b/ietf/review/admin.py index 2574fb026..a63b9af24 100644 --- a/ietf/review/admin.py +++ b/ietf/review/admin.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import simple_history from django.contrib import admin diff --git a/ietf/review/mailarch.py b/ietf/review/mailarch.py index 7c6dcf215..d52f348bf 100644 --- a/ietf/review/mailarch.py +++ b/ietf/review/mailarch.py @@ -2,9 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - # various utilities for working with the mailarch mail archive at # mailarchive.ietf.org diff --git a/ietf/review/migrations/0001_initial.py b/ietf/review/migrations/0001_initial.py index 8b6f8d861..5e7fde9ec 100644 --- a/ietf/review/migrations/0001_initial.py +++ b/ietf/review/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/review/migrations/0002_unavailableperiod_reason.py b/ietf/review/migrations/0002_unavailableperiod_reason.py index 8e6dc8d98..e4c81ad7c 100644 --- a/ietf/review/migrations/0002_unavailableperiod_reason.py +++ b/ietf/review/migrations/0002_unavailableperiod_reason.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.14 on 2018-07-23 15:11 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/review/migrations/0003_add_notify_ad_when.py b/ietf/review/migrations/0003_add_notify_ad_when.py index 3a950a413..78e0d7959 100644 --- a/ietf/review/migrations/0003_add_notify_ad_when.py +++ b/ietf/review/migrations/0003_add_notify_ad_when.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-02 10:10 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import ietf.review.models diff --git a/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py b/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py index 535f776d1..96fb0ba1c 100644 --- a/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py +++ b/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-03 03:10 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/review/migrations/0005_set_secdir_notify_ad_when.py b/ietf/review/migrations/0005_set_secdir_notify_ad_when.py index ade5a5287..66b768a50 100644 --- a/ietf/review/migrations/0005_set_secdir_notify_ad_when.py +++ b/ietf/review/migrations/0005_set_secdir_notify_ad_when.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-02 10:20 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations def forward(apps, schema_editor): diff --git a/ietf/review/migrations/0006_historicalreviewersettings.py b/ietf/review/migrations/0006_historicalreviewersettings.py index 33f330cf9..4129ab409 100644 --- a/ietf/review/migrations/0006_historicalreviewersettings.py +++ b/ietf/review/migrations/0006_historicalreviewersettings.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-09 08:31 -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py b/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py index 91016a8ed..11da10b36 100644 --- a/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py +++ b/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.17 on 2018-12-06 13:16 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/review/migrations/0008_remove_reviewrequest_old_id.py b/ietf/review/migrations/0008_remove_reviewrequest_old_id.py index df107e5b0..7f3e0b24c 100644 --- a/ietf/review/migrations/0008_remove_reviewrequest_old_id.py +++ b/ietf/review/migrations/0008_remove_reviewrequest_old_id.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.17 on 2019-01-03 12:34 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/review/migrations/0009_refactor_review_request.py b/ietf/review/migrations/0009_refactor_review_request.py index 87eaba0a7..d3b22e138 100644 --- a/ietf/review/migrations/0009_refactor_review_request.py +++ b/ietf/review/migrations/0009_refactor_review_request.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-04 14:27 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/review/migrations/0010_populate_review_assignments.py b/ietf/review/migrations/0010_populate_review_assignments.py index 3602645c4..83f87325b 100644 --- a/ietf/review/migrations/0010_populate_review_assignments.py +++ b/ietf/review/migrations/0010_populate_review_assignments.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-01-04 14:34 -from __future__ import absolute_import, print_function, unicode_literals - import sys from tqdm import tqdm diff --git a/ietf/review/migrations/0011_review_document2_fk.py b/ietf/review/migrations/0011_review_document2_fk.py index f613cdb9b..1fca4fd4e 100644 --- a/ietf/review/migrations/0011_review_document2_fk.py +++ b/ietf/review/migrations/0011_review_document2_fk.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 11:58 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/review/migrations/0012_remove_old_document_field.py b/ietf/review/migrations/0012_remove_old_document_field.py index 56790f507..2c5b5c277 100644 --- a/ietf/review/migrations/0012_remove_old_document_field.py +++ b/ietf/review/migrations/0012_remove_old_document_field.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-20 09:53 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/review/migrations/0013_rename_field_document2.py b/ietf/review/migrations/0013_rename_field_document2.py index da3c17ea0..0577b0d31 100644 --- a/ietf/review/migrations/0013_rename_field_document2.py +++ b/ietf/review/migrations/0013_rename_field_document2.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-21 05:31 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/review/migrations/0014_document_primary_key_cleanup.py b/ietf/review/migrations/0014_document_primary_key_cleanup.py index c8ef25beb..20c28ace6 100644 --- a/ietf/review/migrations/0014_document_primary_key_cleanup.py +++ b/ietf/review/migrations/0014_document_primary_key_cleanup.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-06-10 03:47 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/review/migrations/0015_populate_completed_on_for_rejected.py b/ietf/review/migrations/0015_populate_completed_on_for_rejected.py index e1126f23c..feed8ea1c 100644 --- a/ietf/review/migrations/0015_populate_completed_on_for_rejected.py +++ b/ietf/review/migrations/0015_populate_completed_on_for_rejected.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.24 on 2019-09-30 08:17 -from __future__ import unicode_literals + from django.db import migrations diff --git a/ietf/review/migrations/0016_add_remind_days_open_reviews.py b/ietf/review/migrations/0016_add_remind_days_open_reviews.py index 5b64fcc2a..57e991147 100644 --- a/ietf/review/migrations/0016_add_remind_days_open_reviews.py +++ b/ietf/review/migrations/0016_add_remind_days_open_reviews.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-09-05 05:03 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py b/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py index ccbf83442..af48a4243 100644 --- a/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py +++ b/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-10-01 04:40 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/review/migrations/0018_auto_20191015_1014.py b/ietf/review/migrations/0018_auto_20191015_1014.py index b695905ee..f61c75502 100644 --- a/ietf/review/migrations/0018_auto_20191015_1014.py +++ b/ietf/review/migrations/0018_auto_20191015_1014.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-15 10:14 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/review/migrations/0019_auto_20191023_0829.py b/ietf/review/migrations/0019_auto_20191023_0829.py index 9ef375b69..c5e84573c 100644 --- a/ietf/review/migrations/0019_auto_20191023_0829.py +++ b/ietf/review/migrations/0019_auto_20191023_0829.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.25 on 2019-10-23 08:29 -from __future__ import unicode_literals + import datetime from django.db import migrations, models diff --git a/ietf/review/migrations/0020_auto_20191115_2059.py b/ietf/review/migrations/0020_auto_20191115_2059.py index ccf041800..025e3d2d3 100644 --- a/ietf/review/migrations/0020_auto_20191115_2059.py +++ b/ietf/review/migrations/0020_auto_20191115_2059.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.26 on 2019-11-15 20:59 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/review/migrations/0021_add_additional_history.py b/ietf/review/migrations/0021_add_additional_history.py index bbabb494d..58dc709ec 100644 --- a/ietf/review/migrations/0021_add_additional_history.py +++ b/ietf/review/migrations/0021_add_additional_history.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-11-19 04:36 -from __future__ import unicode_literals + import datetime from django.conf import settings diff --git a/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py b/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py index c1f3885a1..9d705ea14 100644 --- a/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py +++ b/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py @@ -1,7 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.23 on 2019-11-18 08:50 -from __future__ import unicode_literals + from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py b/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py index 28e908b85..1e83f2650 100644 --- a/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py +++ b/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # Generated by Django 1.11.26 on 2019-12-21 11:52 -from __future__ import unicode_literals + from django.db import migrations, models diff --git a/ietf/review/models.py b/ietf/review/models.py index 9c2619cbc..ef5ee48ef 100644 --- a/ietf/review/models.py +++ b/ietf/review/models.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from simple_history.models import HistoricalRecords diff --git a/ietf/review/policies.py b/ietf/review/policies.py index ffd3582e6..9c541e5f1 100644 --- a/ietf/review/policies.py +++ b/ietf/review/policies.py @@ -1,6 +1,5 @@ # Copyright The IETF Trust 2019-2020, All Rights Reserved -from __future__ import absolute_import, print_function, unicode_literals import re diff --git a/ietf/review/tests.py b/ietf/review/tests.py index f46e44bf9..47590682b 100644 --- a/ietf/review/tests.py +++ b/ietf/review/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from ietf.review.factories import ReviewAssignmentFactory, ReviewRequestFactory from ietf.utils.test_utils import TestCase, reload_db_objects from .mailarch import hash_list_message_id diff --git a/ietf/review/utils.py b/ietf/review/utils.py index a6418808f..898cabaad 100644 --- a/ietf/review/utils.py +++ b/ietf/review/utils.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import itertools diff --git a/ietf/secr/announcement/forms.py b/ietf/secr/announcement/forms.py index e3d3cd9e6..46b2e7b78 100644 --- a/ietf/secr/announcement/forms.py +++ b/ietf/secr/announcement/forms.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import forms from ietf.group.models import Group, Role diff --git a/ietf/secr/announcement/tests.py b/ietf/secr/announcement/tests.py index 5d7ee45a9..d4df48163 100644 --- a/ietf/secr/announcement/tests.py +++ b/ietf/secr/announcement/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from pyquery import PyQuery from django.urls import reverse diff --git a/ietf/secr/console/tests.py b/ietf/secr/console/tests.py index 75ddf483b..9de570795 100644 --- a/ietf/secr/console/tests.py +++ b/ietf/secr/console/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - """ This file demonstrates two different styles of tests (one doctest and one unittest). These will both pass when you run "manage.py test". diff --git a/ietf/secr/drafts/forms.py b/ietf/secr/drafts/forms.py index 0dd7539a0..17f37ba7b 100644 --- a/ietf/secr/drafts/forms.py +++ b/ietf/secr/drafts/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re import os diff --git a/ietf/secr/drafts/tests_views.py b/ietf/secr/drafts/tests_views.py index ca0968737..997146607 100644 --- a/ietf/secr/drafts/tests_views.py +++ b/ietf/secr/drafts/tests_views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os diff --git a/ietf/secr/drafts/views.py b/ietf/secr/drafts/views.py index ef851afbe..0f1c646d0 100644 --- a/ietf/secr/drafts/views.py +++ b/ietf/secr/drafts/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import glob import io diff --git a/ietf/secr/groups/tests.py b/ietf/secr/groups/tests.py index c49d95cd1..26977a1d7 100644 --- a/ietf/secr/groups/tests.py +++ b/ietf/secr/groups/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.urls import reverse from ietf.utils.test_utils import TestCase from ietf.group.models import Group diff --git a/ietf/secr/meetings/blue_sheets.py b/ietf/secr/meetings/blue_sheets.py index 49d8755ca..617554121 100644 --- a/ietf/secr/meetings/blue_sheets.py +++ b/ietf/secr/meetings/blue_sheets.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io from django.conf import settings diff --git a/ietf/secr/meetings/tests.py b/ietf/secr/meetings/tests.py index 91ad389e2..40d2ac9f4 100644 --- a/ietf/secr/meetings/tests.py +++ b/ietf/secr/meetings/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import os import shutil diff --git a/ietf/secr/proceedings/migrations/0001_initial.py b/ietf/secr/proceedings/migrations/0001_initial.py index 48d6b6264..70bf55f31 100644 --- a/ietf/secr/proceedings/migrations/0001_initial.py +++ b/ietf/secr/proceedings/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models diff --git a/ietf/secr/proceedings/models.py b/ietf/secr/proceedings/models.py index e7d24e7c8..fb672bf23 100644 --- a/ietf/secr/proceedings/models.py +++ b/ietf/secr/proceedings/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os from django.conf import settings diff --git a/ietf/secr/proceedings/proc_utils.py b/ietf/secr/proceedings/proc_utils.py index 6ca49eace..9e49c7ac8 100644 --- a/ietf/secr/proceedings/proc_utils.py +++ b/ietf/secr/proceedings/proc_utils.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - ''' proc_utils.py diff --git a/ietf/secr/proceedings/tests.py b/ietf/secr/proceedings/tests.py index 2004b88f6..e6ee6a593 100644 --- a/ietf/secr/proceedings/tests.py +++ b/ietf/secr/proceedings/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import debug # pyflakes:ignore import io import json diff --git a/ietf/secr/proceedings/views.py b/ietf/secr/proceedings/views.py index 1c65780ca..916118217 100644 --- a/ietf/secr/proceedings/views.py +++ b/ietf/secr/proceedings/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import glob import itertools diff --git a/ietf/secr/roles/tests.py b/ietf/secr/roles/tests.py index e70d5e563..242d396db 100644 --- a/ietf/secr/roles/tests.py +++ b/ietf/secr/roles/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.urls import reverse from ietf.utils.test_utils import TestCase diff --git a/ietf/secr/rolodex/forms.py b/ietf/secr/rolodex/forms.py index ab094bdca..8c95da88d 100644 --- a/ietf/secr/rolodex/forms.py +++ b/ietf/secr/rolodex/forms.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re from django import forms diff --git a/ietf/secr/sreq/forms.py b/ietf/secr/sreq/forms.py index dec6200da..af6dc3284 100644 --- a/ietf/secr/sreq/forms.py +++ b/ietf/secr/sreq/forms.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django import forms import debug # pyflakes:ignore diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index c556a02b8..612c2c855 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.urls import reverse diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index ead39e9ee..d7c1bdd68 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from collections import defaultdict diff --git a/ietf/secr/telechat/tests.py b/ietf/secr/telechat/tests.py index 1264a12ab..c707675fc 100644 --- a/ietf/secr/telechat/tests.py +++ b/ietf/secr/telechat/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from pyquery import PyQuery diff --git a/ietf/secr/telechat/views.py b/ietf/secr/telechat/views.py index c192e447e..8359d5bb3 100644 --- a/ietf/secr/telechat/views.py +++ b/ietf/secr/telechat/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.contrib import messages diff --git a/ietf/secr/utils/ams_utils.py b/ietf/secr/utils/ams_utils.py index d8e3c2a62..17c780a02 100644 --- a/ietf/secr/utils/ams_utils.py +++ b/ietf/secr/utils/ams_utils.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from ietf.person.models import Person diff --git a/ietf/secr/utils/document.py b/ietf/secr/utils/document.py index 216958b70..0a34512a1 100644 --- a/ietf/secr/utils/document.py +++ b/ietf/secr/utils/document.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - def get_full_path(doc): ''' Returns for name of file on disk with full path. This should really be a method on doc diff --git a/ietf/secr/utils/group.py b/ietf/secr/utils/group.py index 3895367ec..44ef5f022 100644 --- a/ietf/secr/utils/group.py +++ b/ietf/secr/utils/group.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # Python imports import io import os diff --git a/ietf/secr/utils/test.py b/ietf/secr/utils/test.py index 3fc791923..4f3578234 100644 --- a/ietf/secr/utils/test.py +++ b/ietf/secr/utils/test.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - ''' Functions to aid unit testing ''' diff --git a/ietf/settings.py b/ietf/settings.py index 691707e19..fc858026c 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # Django settings for ietf project. # BASE_DIR and "settings_local" are from # http://code.djangoproject.com/wiki/SplitSettings diff --git a/ietf/settings_releasetest.py b/ietf/settings_releasetest.py index 421e6f851..99c275d1b 100644 --- a/ietf/settings_releasetest.py +++ b/ietf/settings_releasetest.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - # Standard settings except we use SQLite, this is useful for speeding # up tests that depend on the test database, try for instance: # diff --git a/ietf/settings_sqlitetest.py b/ietf/settings_sqlitetest.py index 2a884768c..bc678ab18 100644 --- a/ietf/settings_sqlitetest.py +++ b/ietf/settings_sqlitetest.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # Standard settings except we use SQLite and skip migrations, this is # useful for speeding up tests that depend on the test database, try # for instance: diff --git a/ietf/settings_testcrawl.py b/ietf/settings_testcrawl.py index f4ae6ee63..7dfb08f1b 100644 --- a/ietf/settings_testcrawl.py +++ b/ietf/settings_testcrawl.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # Standard settings except we enable caching like in the production # environment, this is useful for speeding up the test crawl, try for # instance: diff --git a/ietf/stats/backfill_data.py b/ietf/stats/backfill_data.py index b9314a035..c8ee39531 100755 --- a/ietf/stats/backfill_data.py +++ b/ietf/stats/backfill_data.py @@ -2,7 +2,6 @@ # Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals import io import sys diff --git a/ietf/stats/migrations/0001_initial.py b/ietf/stats/migrations/0001_initial.py index 33d48edbe..bf702b9a4 100644 --- a/ietf/stats/migrations/0001_initial.py +++ b/ietf/stats/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations, models import django.db.models.deletion import ietf.utils.models diff --git a/ietf/stats/models.py b/ietf/stats/models.py index 924ff962e..14bba4984 100644 --- a/ietf/stats/models.py +++ b/ietf/stats/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.db import models from django.utils.encoding import python_2_unicode_compatible diff --git a/ietf/stats/tests.py b/ietf/stats/tests.py index 3431903c9..e755a6c88 100644 --- a/ietf/stats/tests.py +++ b/ietf/stats/tests.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import calendar import datetime import json diff --git a/ietf/stats/urls.py b/ietf/stats/urls.py index 7929ecadd..d2993759d 100644 --- a/ietf/stats/urls.py +++ b/ietf/stats/urls.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.conf import settings from ietf.stats import views diff --git a/ietf/stats/utils.py b/ietf/stats/utils.py index fa8f23f1b..93c12a45f 100644 --- a/ietf/stats/utils.py +++ b/ietf/stats/utils.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re import requests from collections import defaultdict diff --git a/ietf/stats/views.py b/ietf/stats/views.py index f9d7968f0..c7e38bf38 100644 --- a/ietf/stats/views.py +++ b/ietf/stats/views.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import calendar import datetime diff --git a/ietf/submit/checkers.py b/ietf/submit/checkers.py index 64cfc579f..59db02f16 100644 --- a/ietf/submit/checkers.py +++ b/ietf/submit/checkers.py @@ -2,13 +2,10 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import re import shutil -import six import sys import tempfile @@ -148,8 +145,8 @@ class DraftYangChecker(object): # This places the yang models as files in workdir saved_stdout = sys.stdout saved_stderr = sys.stderr - sys.stdout = six.StringIO() - sys.stderr = six.StringIO() + sys.stdout = io.StringIO() + sys.stderr = io.StringIO() extractor.extract_yang_model(file.readlines()) model_list = extractor.get_extracted_models(False, True) out = sys.stdout.getvalue() diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py index 205682b09..00709fdd1 100644 --- a/ietf/submit/forms.py +++ b/ietf/submit/forms.py @@ -2,15 +2,12 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import re import datetime import email import pytz -import six import sys import tempfile import xml2rfc @@ -18,12 +15,6 @@ import xml2rfc from email.utils import formataddr from unidecode import unidecode -if six.PY2: - from StringIO import StringIO -else: - from io import StringIO - - from django import forms from django.conf import settings from django.utils.html import mark_safe # type:ignore @@ -170,8 +161,8 @@ class SubmissionBaseUploadForm(forms.Form): name, ext = os.path.splitext(os.path.basename(xml_file.name)) tfh, tfn = tempfile.mkstemp(prefix=name+'-', suffix='.xml') file_name = {} - xml2rfc.log.write_out = StringIO() # open(os.devnull, "w") - xml2rfc.log.write_err = StringIO() # open(os.devnull, "w") + xml2rfc.log.write_out = io.StringIO() # open(os.devnull, "w") + xml2rfc.log.write_err = io.StringIO() # open(os.devnull, "w") try: # We need to write the xml file to disk in order to hand it # over to the xml parser. XXX FIXME: investigate updating diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py index 43db7285e..32dd89e25 100644 --- a/ietf/submit/mail.py +++ b/ietf/submit/mail.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re import email import datetime diff --git a/ietf/submit/management/commands/manualpost_email.py b/ietf/submit/management/commands/manualpost_email.py index 10d3ed3d5..aaabfb39b 100644 --- a/ietf/submit/management/commands/manualpost_email.py +++ b/ietf/submit/management/commands/manualpost_email.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import sys diff --git a/ietf/submit/migrations/0001_initial.py b/ietf/submit/migrations/0001_initial.py index 79d5fc3db..619260600 100644 --- a/ietf/submit/migrations/0001_initial.py +++ b/ietf/submit/migrations/0001_initial.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - import datetime from django.db import migrations, models import django.db.models.deletion diff --git a/ietf/submit/migrations/0002_submission_document2_fk.py b/ietf/submit/migrations/0002_submission_document2_fk.py index 27d9daa7f..7885cff32 100644 --- a/ietf/submit/migrations/0002_submission_document2_fk.py +++ b/ietf/submit/migrations/0002_submission_document2_fk.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-08 11:58 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations import django.db.models.deletion import ietf.utils.models diff --git a/ietf/submit/migrations/0003_remove_old_document_field.py b/ietf/submit/migrations/0003_remove_old_document_field.py index fe4d880ef..f8deb2ff9 100644 --- a/ietf/submit/migrations/0003_remove_old_document_field.py +++ b/ietf/submit/migrations/0003_remove_old_document_field.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-25 06:44 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/submit/migrations/0004_rename_field_document2.py b/ietf/submit/migrations/0004_rename_field_document2.py index b1bdbdcec..422265923 100644 --- a/ietf/submit/migrations/0004_rename_field_document2.py +++ b/ietf/submit/migrations/0004_rename_field_document2.py @@ -1,10 +1,8 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- # Generated by Django 1.11.20 on 2019-05-25 06:46 -from __future__ import absolute_import, print_function, unicode_literals - from django.db import migrations diff --git a/ietf/submit/models.py b/ietf/submit/models.py index 04f7400bf..e8e1e0849 100644 --- a/ietf/submit/models.py +++ b/ietf/submit/models.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import email import jsonfield diff --git a/ietf/submit/parsers/base.py b/ietf/submit/parsers/base.py index 05674420f..22f67a56a 100644 --- a/ietf/submit/parsers/base.py +++ b/ietf/submit/parsers/base.py @@ -1,16 +1,13 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re import magic import datetime import debug # pyflakes:ignore -import six -if six.PY3: - from typing import List, Optional # pyflakes:ignore + +from typing import List, Optional # pyflakes:ignore from django.conf import settings from django.template.defaultfilters import filesizeformat diff --git a/ietf/submit/parsers/plain_parser.py b/ietf/submit/parsers/plain_parser.py index a0e1f3659..a3338e35a 100644 --- a/ietf/submit/parsers/plain_parser.py +++ b/ietf/submit/parsers/plain_parser.py @@ -1,8 +1,6 @@ # Copyright The IETF Trust 2011-2020, All Rights Reserved -from __future__ import absolute_import, print_function, unicode_literals - import re import debug # pyflakes:ignore diff --git a/ietf/submit/templatetags/submit_tags.py b/ietf/submit/templatetags/submit_tags.py index b2bbde386..416564881 100644 --- a/ietf/submit/templatetags/submit_tags.py +++ b/ietf/submit/templatetags/submit_tags.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os from django import template diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index 4af95af10..8deaa8934 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -2,15 +2,12 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import email import io import os import re import shutil -import six import sys @@ -160,7 +157,7 @@ class SubmitTests(TestCase): submission = Submission.objects.get(name=name) if len(submission.authors) != 1: sys.stderr.write("\nAuthor extraction failure.\n") - sys.stderr.write(six.ensure_text("Author name used in test: %s\n"%author)) + sys.stderr.write(force_str("Author name used in test: %s\n"%author)) sys.stderr.write("Author ascii name: %s\n" % author.ascii) sys.stderr.write("Author initials: %s\n" % author.initials()) self.assertEqual(len(submission.authors), 1) diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index 6083539c0..033403ff1 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -2,15 +2,12 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import io import os import re -import six # pyflakes:ignore -if six.PY3: - from typing import Callable, Optional # pyflakes:ignore + +from typing import Callable, Optional # pyflakes:ignore from django.conf import settings from django.core.validators import validate_email, ValidationError diff --git a/ietf/submit/views.py b/ietf/submit/views.py index d8b32a641..9c095b0f0 100644 --- a/ietf/submit/views.py +++ b/ietf/submit/views.py @@ -1,15 +1,12 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re import base64 import datetime -import six -if six.PY3: - from typing import Optional # pyflakes:ignore + +from typing import Optional # pyflakes:ignore from django.conf import settings from django.contrib import messages diff --git a/ietf/sync/iana.py b/ietf/sync/iana.py index e80772cec..eac3ccc9c 100644 --- a/ietf/sync/iana.py +++ b/ietf/sync/iana.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import base64 import datetime import email diff --git a/ietf/sync/rfceditor.py b/ietf/sync/rfceditor.py index a257b8f70..1afc85cf3 100644 --- a/ietf/sync/rfceditor.py +++ b/ietf/sync/rfceditor.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import base64 import datetime import re diff --git a/ietf/sync/tests.py b/ietf/sync/tests.py index bbdcf7149..8b43117d4 100644 --- a/ietf/sync/tests.py +++ b/ietf/sync/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import io import json diff --git a/ietf/utils/accesstoken.py b/ietf/utils/accesstoken.py index a6ba65935..b2a93f77d 100644 --- a/ietf/utils/accesstoken.py +++ b/ietf/utils/accesstoken.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import time, random, hashlib from django.conf import settings diff --git a/ietf/utils/admin.py b/ietf/utils/admin.py index cf37dcff9..3e562c2bc 100644 --- a/ietf/utils/admin.py +++ b/ietf/utils/admin.py @@ -2,9 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - from django.contrib import admin from django.utils.encoding import force_text diff --git a/ietf/utils/aliases.py b/ietf/utils/aliases.py index 6c31e9ec2..53a7f815e 100644 --- a/ietf/utils/aliases.py +++ b/ietf/utils/aliases.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- # -*- Python -*- # @@ -9,8 +9,6 @@ # -from __future__ import absolute_import, print_function, unicode_literals - """ Mailing list alias dumping utilities diff --git a/ietf/utils/bootstrap.py b/ietf/utils/bootstrap.py index b4e169f5a..0ff40084c 100644 --- a/ietf/utils/bootstrap.py +++ b/ietf/utils/bootstrap.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import bootstrap3.renderers class SeparateErrorsFromHelpTextFieldRenderer(bootstrap3.renderers.FieldRenderer): diff --git a/ietf/utils/decorators.py b/ietf/utils/decorators.py index ff91a2860..6d01dc409 100644 --- a/ietf/utils/decorators.py +++ b/ietf/utils/decorators.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from decorator import decorator, decorate diff --git a/ietf/utils/draft.py b/ietf/utils/draft.py index cc0b77985..938b0148c 100755 --- a/ietf/utils/draft.py +++ b/ietf/utils/draft.py @@ -4,8 +4,6 @@ # -*- python -*- -from __future__ import absolute_import, print_function, unicode_literals - """ NAME %(program)s - Extract meta-information from an IETF draft. diff --git a/ietf/utils/draft_search.py b/ietf/utils/draft_search.py index dd250e319..2363250d4 100644 --- a/ietf/utils/draft_search.py +++ b/ietf/utils/draft_search.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2007-2019, All Rights Reserved +# Copyright The IETF Trust 2007-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re def normalize_draftname(string): diff --git a/ietf/utils/fields.py b/ietf/utils/fields.py index ec2e5b3e7..681b111db 100644 --- a/ietf/utils/fields.py +++ b/ietf/utils/fields.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import re diff --git a/ietf/utils/history.py b/ietf/utils/history.py index 35d532641..03fad4793 100644 --- a/ietf/utils/history.py +++ b/ietf/utils/history.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import debug # pyflakes:ignore def find_history_active_at(obj, time): diff --git a/ietf/utils/html.py b/ietf/utils/html.py index 35f2c14e4..1630c8acc 100644 --- a/ietf/utils/html.py +++ b/ietf/utils/html.py @@ -4,15 +4,12 @@ """Utilities for working with HTML.""" -from __future__ import absolute_import, print_function, unicode_literals - import bleach import copy import html2text import lxml.etree import lxml.html import lxml.html.clean -import six import debug # pyflakes:ignore @@ -63,7 +60,7 @@ class Cleaner(lxml.html.clean.Cleaner): # Copied from lxml 4.2.0 and modified to insert charset meta: def clean_html(self, html): result_type = type(html) - if isinstance(html, six.string_types): + if isinstance(html, (str, bytes)): doc = lxml.html.fromstring(html) else: doc = copy.deepcopy(html) diff --git a/ietf/utils/log.py b/ietf/utils/log.py index 8599291fe..ddbe77339 100644 --- a/ietf/utils/log.py +++ b/ietf/utils/log.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import sys import logging import inspect diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index eb186610a..054e4ae4a 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import copy import datetime #import logging diff --git a/ietf/utils/management/commands/check_referential_integrity.py b/ietf/utils/management/commands/check_referential_integrity.py index 528a30cd4..f876df107 100644 --- a/ietf/utils/management/commands/check_referential_integrity.py +++ b/ietf/utils/management/commands/check_referential_integrity.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from tqdm import tqdm import django diff --git a/ietf/utils/management/commands/coverage_changes.py b/ietf/utils/management/commands/coverage_changes.py index 38660836b..7a445bd0c 100644 --- a/ietf/utils/management/commands/coverage_changes.py +++ b/ietf/utils/management/commands/coverage_changes.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import gzip import io import json diff --git a/ietf/utils/management/commands/create_group_wikis.py b/ietf/utils/management/commands/create_group_wikis.py index 8c9caea8b..13315b012 100644 --- a/ietf/utils/management/commands/create_group_wikis.py +++ b/ietf/utils/management/commands/create_group_wikis.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import copy import io diff --git a/ietf/utils/management/commands/download_extras.py b/ietf/utils/management/commands/download_extras.py index 74bfc1e1b..a74291bc2 100644 --- a/ietf/utils/management/commands/download_extras.py +++ b/ietf/utils/management/commands/download_extras.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os import subprocess diff --git a/ietf/utils/management/commands/dumprelated.py b/ietf/utils/management/commands/dumprelated.py index 60a7ea70b..66fbb33bf 100644 --- a/ietf/utils/management/commands/dumprelated.py +++ b/ietf/utils/management/commands/dumprelated.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import warnings from collections import OrderedDict diff --git a/ietf/utils/management/commands/fix_ambiguous_timestamps.py b/ietf/utils/management/commands/fix_ambiguous_timestamps.py index 9a20d1cc5..fc872f458 100644 --- a/ietf/utils/management/commands/fix_ambiguous_timestamps.py +++ b/ietf/utils/management/commands/fix_ambiguous_timestamps.py @@ -1,6 +1,6 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + import datetime import pytz diff --git a/ietf/utils/management/commands/loadrelated.py b/ietf/utils/management/commands/loadrelated.py index 78da0e33e..e3d84990c 100644 --- a/ietf/utils/management/commands/loadrelated.py +++ b/ietf/utils/management/commands/loadrelated.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import gzip import os #import sys diff --git a/ietf/utils/management/commands/makefixture.py b/ietf/utils/management/commands/makefixture.py index 35e99556e..0044dc719 100644 --- a/ietf/utils/management/commands/makefixture.py +++ b/ietf/utils/management/commands/makefixture.py @@ -3,8 +3,6 @@ # From https://github.com/ericholscher/django-test-utils/blob/master/test_utils/management/commands/makefixture.py -from __future__ import absolute_import, print_function, unicode_literals - """ "Make fixture" command. diff --git a/ietf/utils/management/commands/mergedata.py b/ietf/utils/management/commands/mergedata.py index 732e2ad4b..3a169c51e 100644 --- a/ietf/utils/management/commands/mergedata.py +++ b/ietf/utils/management/commands/mergedata.py @@ -1,7 +1,6 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals import os import warnings diff --git a/ietf/utils/management/commands/populate_yang_model_dirs.py b/ietf/utils/management/commands/populate_yang_model_dirs.py index 891fd362c..9151cedff 100644 --- a/ietf/utils/management/commands/populate_yang_model_dirs.py +++ b/ietf/utils/management/commands/populate_yang_model_dirs.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import sys diff --git a/ietf/utils/management/commands/pyflakes.py b/ietf/utils/management/commands/pyflakes.py index 0423afff4..001508a0f 100644 --- a/ietf/utils/management/commands/pyflakes.py +++ b/ietf/utils/management/commands/pyflakes.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import - import ast import os from pyflakes import checker, messages diff --git a/ietf/utils/management/commands/run_yang_model_checks.py b/ietf/utils/management/commands/run_yang_model_checks.py index 3fed40a44..ad053746b 100644 --- a/ietf/utils/management/commands/run_yang_model_checks.py +++ b/ietf/utils/management/commands/run_yang_model_checks.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import json from textwrap import dedent diff --git a/ietf/utils/management/commands/send_apikey_usage_emails.py b/ietf/utils/management/commands/send_apikey_usage_emails.py index f8f923021..4aa4e5524 100644 --- a/ietf/utils/management/commands/send_apikey_usage_emails.py +++ b/ietf/utils/management/commands/send_apikey_usage_emails.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime from textwrap import dedent diff --git a/ietf/utils/management/commands/send_gdpr_consent_request.py b/ietf/utils/management/commands/send_gdpr_consent_request.py index 9a50399dc..2bb08eed1 100644 --- a/ietf/utils/management/commands/send_gdpr_consent_request.py +++ b/ietf/utils/management/commands/send_gdpr_consent_request.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import datetime import time diff --git a/ietf/utils/management/commands/sqldumpdump.py b/ietf/utils/management/commands/sqldumpdump.py index a8e596330..68c15b3f8 100644 --- a/ietf/utils/management/commands/sqldumpdump.py +++ b/ietf/utils/management/commands/sqldumpdump.py @@ -1,6 +1,6 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals + import collections import io diff --git a/ietf/utils/management/commands/tests.py b/ietf/utils/management/commands/tests.py index 12c606b02..6619cb819 100644 --- a/ietf/utils/management/commands/tests.py +++ b/ietf/utils/management/commands/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os import tempfile diff --git a/ietf/utils/management/commands/update_community_list_index.py b/ietf/utils/management/commands/update_community_list_index.py index 299038388..3f3a783cf 100644 --- a/ietf/utils/management/commands/update_community_list_index.py +++ b/ietf/utils/management/commands/update_community_list_index.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2019, All Rights Reserved +# Copyright The IETF Trust 2019-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - from django.core.management.base import BaseCommand import debug # pyflakes:ignore diff --git a/ietf/utils/management/commands/update_external_command_info.py b/ietf/utils/management/commands/update_external_command_info.py index c7b3497ad..9cc1d1ba4 100644 --- a/ietf/utils/management/commands/update_external_command_info.py +++ b/ietf/utils/management/commands/update_external_command_info.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import sys from textwrap import dedent diff --git a/ietf/utils/markup_txt.py b/ietf/utils/markup_txt.py index fe5fc7600..cb4f23820 100644 --- a/ietf/utils/markup_txt.py +++ b/ietf/utils/markup_txt.py @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import re from django.utils.html import escape diff --git a/ietf/utils/migrations/0001_initial.py b/ietf/utils/migrations/0001_initial.py index 6311b8828..87cb75287 100644 --- a/ietf/utils/migrations/0001_initial.py +++ b/ietf/utils/migrations/0001_initial.py @@ -3,8 +3,6 @@ # Generated by Django 1.11.10 on 2018-02-20 10:52 -from __future__ import absolute_import, print_function, unicode_literals - from typing import List, Tuple # pyflakes:ignore from django.db import migrations, models diff --git a/ietf/utils/mime.py b/ietf/utils/mime.py index 4c58d6629..e5289133a 100644 --- a/ietf/utils/mime.py +++ b/ietf/utils/mime.py @@ -1,7 +1,6 @@ # Copyright The IETF Trust 2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals import magic diff --git a/ietf/utils/ordereddict.py b/ietf/utils/ordereddict.py index bdc911efd..a5b1380c5 100644 --- a/ietf/utils/ordereddict.py +++ b/ietf/utils/ordereddict.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - def insert_after_in_ordered_dict(dictionary, key, value, after): """There's no "insert" in ordered dict so simulate it instead by re-adding entries. Obviously that's not ideal, but for small dicts the diff --git a/ietf/utils/patch.py b/ietf/utils/patch.py index 379f2c760..b98106126 100644 --- a/ietf/utils/patch.py +++ b/ietf/utils/patch.py @@ -11,7 +11,7 @@ https://github.com/techtonik/python-patch/ """ -from __future__ import print_function + __author__ = "anatoly techtonik " __version__ = "1.16" diff --git a/ietf/utils/pdf.py b/ietf/utils/pdf.py index 989e1a871..cb856dadc 100644 --- a/ietf/utils/pdf.py +++ b/ietf/utils/pdf.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2015-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import re diff --git a/ietf/utils/pipe.py b/ietf/utils/pipe.py index e61fce373..907e4af5f 100644 --- a/ietf/utils/pipe.py +++ b/ietf/utils/pipe.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2010-2019, All Rights Reserved +# Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - # Simplified interface to os.popen3() def pipe(cmd, str=None): diff --git a/ietf/utils/templatetags/htmlfilters.py b/ietf/utils/templatetags/htmlfilters.py index 80ad13e78..10c40408c 100644 --- a/ietf/utils/templatetags/htmlfilters.py +++ b/ietf/utils/templatetags/htmlfilters.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2017-2019, All Rights Reserved +# Copyright The IETF Trust 2017-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - from django.template.library import Library from django.template.defaultfilters import stringfilter diff --git a/ietf/utils/templatetags/textfilters.py b/ietf/utils/templatetags/textfilters.py index ad4d6cb64..8ba5992e1 100644 --- a/ietf/utils/templatetags/textfilters.py +++ b/ietf/utils/templatetags/textfilters.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2016-2019, All Rights Reserved +# Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import bleach from django import template diff --git a/ietf/utils/test_data.py b/ietf/utils/test_data.py index a0ce65f80..d39aacd7c 100644 --- a/ietf/utils/test_data.py +++ b/ietf/utils/test_data.py @@ -1,10 +1,7 @@ -# Copyright The IETF Trust 2011-2019, All Rights Reserved +# Copyright The IETF Trust 2011-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - - import datetime from django.conf import settings diff --git a/ietf/utils/test_runner.py b/ietf/utils/test_runner.py index 2bd0b5ac5..c39090d5a 100644 --- a/ietf/utils/test_runner.py +++ b/ietf/utils/test_runner.py @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import io import re import os diff --git a/ietf/utils/test_smtpserver.py b/ietf/utils/test_smtpserver.py index 21644a643..e8e6727a5 100644 --- a/ietf/utils/test_smtpserver.py +++ b/ietf/utils/test_smtpserver.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import smtpd import threading import asyncore diff --git a/ietf/utils/test_textupload.py b/ietf/utils/test_textupload.py index a79fb73f8..8790fe7a9 100644 --- a/ietf/utils/test_textupload.py +++ b/ietf/utils/test_textupload.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2015-2019, All Rights Reserved +# Copyright The IETF Trust 2014-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.core.exceptions import ValidationError from django.core.files.uploadedfile import SimpleUploadedFile diff --git a/ietf/utils/test_utils.py b/ietf/utils/test_utils.py index e14a57ee7..b8b8367a8 100644 --- a/ietf/utils/test_utils.py +++ b/ietf/utils/test_utils.py @@ -34,8 +34,6 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import, print_function, unicode_literals - import os import re import email diff --git a/ietf/utils/tests.py b/ietf/utils/tests.py index f4338b179..b6556df0b 100644 --- a/ietf/utils/tests.py +++ b/ietf/utils/tests.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import io import os.path import shutil @@ -52,7 +50,6 @@ skip_message = "" try: import svn # pyflakes:ignore except ImportError as e: - import sys skip_wiki_glue_testing = True skip_message = "Skipping trac tests: %s" % e sys.stderr.write(" "+skip_message+'\n') diff --git a/ietf/utils/tests_restapi.py b/ietf/utils/tests_restapi.py index a6b3c53e1..a1a646db6 100644 --- a/ietf/utils/tests_restapi.py +++ b/ietf/utils/tests_restapi.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import sys import debug diff --git a/ietf/utils/texescape.py b/ietf/utils/texescape.py index 623c192db..a38d8a5b2 100644 --- a/ietf/utils/texescape.py +++ b/ietf/utils/texescape.py @@ -1,11 +1,9 @@ -# Copyright The IETF Trust 2018-2019, All Rights Reserved +# Copyright The IETF Trust 2018-2020, All Rights Reserved # -*- coding: utf-8 -*- # Copied from https://github.com/sphinx-doc/sphinx/blob/master/sphinx/util/texescape.py # Copyright and license as indicated in the original and below -from __future__ import absolute_import, print_function, unicode_literals - """ sphinx.util.texescape ~~~~~~~~~~~~~~~~~~~~~ diff --git a/ietf/utils/text.py b/ietf/utils/text.py index 0346e1e78..8040f0978 100644 --- a/ietf/utils/text.py +++ b/ietf/utils/text.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re import textwrap import unicodedata diff --git a/ietf/utils/textupload.py b/ietf/utils/textupload.py index d9779df45..239a3dc05 100644 --- a/ietf/utils/textupload.py +++ b/ietf/utils/textupload.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2012-2019, All Rights Reserved +# Copyright The IETF Trust 2012-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import re from django.conf import settings diff --git a/ietf/utils/urls.py b/ietf/utils/urls.py index e3b5a0856..7f46d9c43 100644 --- a/ietf/utils/urls.py +++ b/ietf/utils/urls.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import debug # pyflakes:ignore from inspect import isclass diff --git a/ietf/utils/validators.py b/ietf/utils/validators.py index 9bf179ae3..fba46e564 100644 --- a/ietf/utils/validators.py +++ b/ietf/utils/validators.py @@ -1,7 +1,6 @@ # Copyright The IETF Trust 2016-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals import os import re diff --git a/ietf/wsgi.py b/ietf/wsgi.py index cacc8ed60..76b63bde9 100644 --- a/ietf/wsgi.py +++ b/ietf/wsgi.py @@ -1,9 +1,7 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +# Copyright The IETF Trust 2013-2020, All Rights Reserved # -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - """ WSGI configuration for the datatracker.