mirror of
https://github.com/django/django.git
synced 2024-12-25 18:46:22 +00:00
[py3] Re-decoded string after idna encoding
This commit is contained in:
parent
6602103338
commit
900816464d
@ -57,7 +57,7 @@ class URLValidator(RegexValidator):
|
||||
value = smart_text(value)
|
||||
scheme, netloc, path, query, fragment = urlsplit(value)
|
||||
try:
|
||||
netloc = netloc.encode('idna') # IDN -> ACE
|
||||
netloc = netloc.encode('idna').decode('ascii') # IDN -> ACE
|
||||
except UnicodeError: # invalid domain part
|
||||
raise e
|
||||
url = urlunsplit((scheme, netloc, path, query, fragment))
|
||||
@ -84,7 +84,7 @@ class EmailValidator(RegexValidator):
|
||||
if value and '@' in value:
|
||||
parts = value.split('@')
|
||||
try:
|
||||
parts[-1] = parts[-1].encode('idna')
|
||||
parts[-1] = parts[-1].encode('idna').decode('ascii')
|
||||
except UnicodeError:
|
||||
raise e
|
||||
super(EmailValidator, self).__call__('@'.join(parts))
|
||||
|
@ -143,7 +143,7 @@ def smart_urlquote(url):
|
||||
# Handle IDN before quoting.
|
||||
scheme, netloc, path, query, fragment = urlsplit(url)
|
||||
try:
|
||||
netloc = netloc.encode('idna') # IDN -> ACE
|
||||
netloc = netloc.encode('idna').decode('ascii') # IDN -> ACE
|
||||
except UnicodeError: # invalid domain part
|
||||
pass
|
||||
else:
|
||||
@ -206,7 +206,7 @@ def urlize(text, trim_url_limit=None, nofollow=False, autoescape=False):
|
||||
elif not ':' in middle and simple_email_re.match(middle):
|
||||
local, domain = middle.rsplit('@', 1)
|
||||
try:
|
||||
domain = domain.encode('idna')
|
||||
domain = domain.encode('idna').decode('ascii')
|
||||
except UnicodeError:
|
||||
continue
|
||||
url = 'mailto:%s@%s' % (local, domain)
|
||||
|
Loading…
Reference in New Issue
Block a user