Avoid Django3.0 force_text deprecation warning

Switch to force_str, falling back to deprecated 
force_text for Python 2 compatibility.
This commit is contained in:
Dmitry Groshev
2020-06-06 19:19:59 +01:00
committed by GitHub
parent 7b3305d0b9
commit 6792ed8658

View File

@@ -9,7 +9,10 @@ from time import mktime
import six import six
from django.conf import settings from django.conf import settings
from django.core.mail.message import sanitize_address, DEFAULT_ATTACHMENT_MIME_TYPE from django.core.mail.message import sanitize_address, DEFAULT_ATTACHMENT_MIME_TYPE
from django.utils.encoding import force_text if six.PY2:
from django.utils.encoding import force_text as force_str
else:
from django.utils.encoding import force_str
from django.utils.functional import Promise from django.utils.functional import Promise
from django.utils.timezone import utc, get_fixed_timezone from django.utils.timezone import utc, get_fixed_timezone
from requests.structures import CaseInsensitiveDict from requests.structures import CaseInsensitiveDict
@@ -147,7 +150,7 @@ def parse_address_list(address_list, field=None):
# from the list -- which may split comma-seperated strings into multiple addresses. # from the list -- which may split comma-seperated strings into multiple addresses.
# (See django.core.mail.message: EmailMessage.message to/cc/bcc/reply_to handling; # (See django.core.mail.message: EmailMessage.message to/cc/bcc/reply_to handling;
# also logic for ADDRESS_HEADERS in forbid_multi_line_headers.) # also logic for ADDRESS_HEADERS in forbid_multi_line_headers.)
address_list_strings = [force_text(address) for address in address_list] # resolve lazy strings address_list_strings = [force_str(address) for address in address_list] # resolve lazy strings
name_email_pairs = getaddresses(address_list_strings) name_email_pairs = getaddresses(address_list_strings)
if name_email_pairs == [] and address_list_strings == [""]: if name_email_pairs == [] and address_list_strings == [""]:
name_email_pairs = [('', '')] # getaddresses ignores a single empty string name_email_pairs = [('', '')] # getaddresses ignores a single empty string