From 3d3ac8596a3336ff75ba82b035e79f693b6bde5b Mon Sep 17 00:00:00 2001 From: Erik Stein Date: Sun, 13 Mar 2022 15:37:04 +0100 Subject: [PATCH] Removed Python 2 compatibility. --- shared/utils/dateformat.py | 8 ++++---- shared/utils/forms.py | 2 +- shared/utils/models/events.py | 2 +- shared/utils/models/pages.py | 7 +------ shared/utils/models/slugs.py | 2 +- shared/utils/templatetags/text_tags.py | 6 +++--- shared/utils/text.py | 18 +++++++++--------- shared/utils/translation.py | 3 --- shared/utils/views/daterange.py | 6 +++--- 9 files changed, 23 insertions(+), 31 deletions(-) diff --git a/shared/utils/dateformat.py b/shared/utils/dateformat.py index c98a205..c3c5b42 100644 --- a/shared/utils/dateformat.py +++ b/shared/utils/dateformat.py @@ -15,8 +15,8 @@ import re from django.conf import settings from django.utils.dateformat import DateFormat, re_escaped from django.utils.formats import get_format -from django.utils.encoding import force_text -from django.utils.translation import ugettext_lazy as _ +from django.utils.encoding import force_str +from django.utils.translation import gettext_lazy as _ # All get_format call make sure that there is a language code returned # (our get_language at least returns FALLBACK_LANGUAGE_CODE), because self-defined @@ -45,9 +45,9 @@ class ExtendedFormat(DateFormat): def format(self, formatstr): pieces = [] - for i, piece in enumerate(re_formatchars.split(force_text(formatstr))): + for i, piece in enumerate(re_formatchars.split(force_str(formatstr))): if i % 2: - pieces.append(force_text(getattr(self, piece)())) + pieces.append(force_str(getattr(self, piece)())) elif piece: pieces.append(re_escaped.sub(r'\1', piece)) return ''.join(pieces) diff --git a/shared/utils/forms.py b/shared/utils/forms.py index 9fb51c2..ce7a98d 100644 --- a/shared/utils/forms.py +++ b/shared/utils/forms.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals from django import forms from django.contrib import admin -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ # from http://stackoverflow.com/questions/877723/inline-form-validation-in-django#877920 diff --git a/shared/utils/models/events.py b/shared/utils/models/events.py index f127b53..c9712df 100644 --- a/shared/utils/models/events.py +++ b/shared/utils/models/events.py @@ -2,7 +2,7 @@ import datetime from django.core.exceptions import ValidationError from django.db import models -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ..conf import USE_TRANSLATABLE_FIELDS from ..dateformat import format_partial_date, format_date_range diff --git a/shared/utils/models/pages.py b/shared/utils/models/pages.py index 25b00eb..83e9b0f 100644 --- a/shared/utils/models/pages.py +++ b/shared/utils/models/pages.py @@ -1,12 +1,8 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.conf import settings from django.db import models -from django.utils.encoding import python_2_unicode_compatible from django.utils.html import strip_tags from django.utils.text import normalize_newlines -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from shared.multilingual.utils import i18n_fields_list from ..functional import firstof @@ -35,7 +31,6 @@ else: # TODO Leave window_title alone, do not slimdown -@python_2_unicode_compatible class PageTitlesFunctionMixin(object): def __str__(self): return strip_tags(self.get_short_title()) diff --git a/shared/utils/models/slugs.py b/shared/utils/models/slugs.py index 7ba6dad..6c66df5 100644 --- a/shared/utils/models/slugs.py +++ b/shared/utils/models/slugs.py @@ -8,7 +8,7 @@ from django.db import models from django.db.models import fields as django_fields from django.db.models.signals import pre_save, post_save from django.dispatch import receiver -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from dirtyfields import DirtyFieldsMixin diff --git a/shared/utils/templatetags/text_tags.py b/shared/utils/templatetags/text_tags.py index 11c5a4c..ef7bb70 100644 --- a/shared/utils/templatetags/text_tags.py +++ b/shared/utils/templatetags/text_tags.py @@ -6,7 +6,7 @@ import string from django import template from django.template.defaultfilters import stringfilter -from django.utils.encoding import force_text +from django.utils.encoding import force_str from django.utils.html import conditional_escape from django.utils.safestring import mark_safe @@ -22,7 +22,7 @@ def conditional_punctuation(value, punctuation=",", space=" "): Appends punctuation if the (stripped) value is not empty and the value does not already end in a punctuation mark (.,:;!?). """ - value = force_text(value or "").strip() + value = force_str(value or "").strip() if value: if value[-1] not in ".,:;!?": value += conditional_escape(punctuation) @@ -97,7 +97,7 @@ def splitn(s, n): def clean_value(value): # Convert all whitespace including non-breaking space to a single space if value: - return re.sub(u"([\s\u00A0]+)", u" ", force_text(value.strip())) + return re.sub(u"([\s\u00A0]+)", u" ", force_str(value.strip())) else: return value diff --git a/shared/utils/text.py b/shared/utils/text.py index d1c6b83..99962dc 100644 --- a/shared/utils/text.py +++ b/shared/utils/text.py @@ -7,11 +7,11 @@ import re import six from django.conf import settings -from django.utils.encoding import force_text, smart_text +from django.utils.encoding import force_str, smart_str from django.utils.functional import keep_lazy_text from django.utils.html import mark_safe from django.utils.text import slugify as django_slugify -from django.utils.translation import ugettext_lazy +from django.utils.translation import gettext_lazy @keep_lazy_text @@ -19,7 +19,7 @@ def downgrade(value): """ Downgrade unicode to ascii, transliterating accented characters. """ - value = force_text(value or "") + value = force_str(value or "") return codecs.encode(value, 'transliterate') @@ -48,7 +48,7 @@ if six.PY2: def html_entities_to_unicode(html): # An incoming HTML or XML entity is always converted into the corresponding Unicode character in bs4 - return smart_text(bs4.BeautifulSoup(html), 'lxml') + return smart_str(bs4.BeautifulSoup(html), 'lxml') else: import html @@ -60,10 +60,10 @@ else: # Translators: Separator between list elements -DEFAULT_SEPARATOR = ugettext_lazy(", ") +DEFAULT_SEPARATOR = gettext_lazy(", ") # Translators: Last separator of list elements -LAST_WORD_SEPARATOR = ugettext_lazy(" and ") +LAST_WORD_SEPARATOR = gettext_lazy(" and ") @keep_lazy_text @@ -72,10 +72,10 @@ def get_text_joined(list_, separator=DEFAULT_SEPARATOR, last_word=LAST_WORD_SEPA if len(list_) == 0: return '' if len(list_) == 1: - return force_text(list_[0]) + return force_str(list_[0]) return '%s%s%s' % ( - separator.join(force_text(i) for i in list_[:-1]), - force_text(last_word), force_text(list_[-1])) + separator.join(force_str(i) for i in list_[:-1]), + force_str(last_word), force_str(list_[-1])) @keep_lazy_text diff --git a/shared/utils/translation.py b/shared/utils/translation.py index 8eff9d8..219beab 100644 --- a/shared/utils/translation.py +++ b/shared/utils/translation.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from copy import copy import os diff --git a/shared/utils/views/daterange.py b/shared/utils/views/daterange.py index 8d1e662..12f684c 100644 --- a/shared/utils/views/daterange.py +++ b/shared/utils/views/daterange.py @@ -15,7 +15,7 @@ from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.http import Http404 from django.utils import timezone -from django.utils.encoding import force_str, force_text +from django.utils.encoding import force_str, force_str from django.utils.translation import ugettext as _ from django.views.generic.base import View from django.views.generic.detail import ( @@ -139,7 +139,7 @@ class BaseDateListView(MultipleObjectMixin, DateMixin, View): is_empty = len(qs) == 0 if paginate_by is None else not qs.exists() if is_empty: raise Http404(_("No %(verbose_name_plural)s available") % { - 'verbose_name_plural': force_text(qs.model._meta.verbose_name_plural) + 'verbose_name_plural': force_str(qs.model._meta.verbose_name_plural) }) return qs @@ -166,7 +166,7 @@ class BaseDateListView(MultipleObjectMixin, DateMixin, View): date_list = queryset.dates(date_field, date_type, ordering) if date_list is not None and not date_list and not allow_empty: - name = force_text(queryset.model._meta.verbose_name_plural) + name = force_str(queryset.model._meta.verbose_name_plural) raise Http404(_("No %(verbose_name_plural)s available") % {'verbose_name_plural': name})