summaryrefslogtreecommitdiff
path: root/django/utils/encoding.py
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2019-07-02 19:32:17 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-07-03 10:48:02 +0200
commitf226bdbf4e06aa8ca787e34b0c626965ac526f28 (patch)
tree55f30b22a0c0128f1ae10ab9ab4827ae5e9f505e /django/utils/encoding.py
parenta5308514fb4bc5086c9a16a8a24a945eeebb073c (diff)
downloaddjango-f226bdbf4e06aa8ca787e34b0c626965ac526f28.tar.gz
Refs #30608 -- Added django.utils.encoding.punycode().
Diffstat (limited to 'django/utils/encoding.py')
-rw-r--r--django/utils/encoding.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/django/utils/encoding.py b/django/utils/encoding.py
index 94b63762db..2e2ad44e31 100644
--- a/django/utils/encoding.py
+++ b/django/utils/encoding.py
@@ -218,6 +218,11 @@ def escape_uri_path(path):
return quote(path, safe="/:@&+$,-_.!~*'()")
+def punycode(domain):
+ """Return the Punycode of the given domain if it's non-ASCII."""
+ return domain.encode('idna').decode('ascii')
+
+
def repercent_broken_unicode(path):
"""
As per section 3.2 of RFC 3987, step three of converting a URI into an IRI,