summaryrefslogtreecommitdiff
path: root/django/utils
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2013-09-05 14:38:59 -0500
committerClaude Paroz <claude@2xlibre.net>2013-09-10 21:29:31 +0200
commitf9f792eb04dfd48d93682070583f473166b490ae (patch)
treec66c3d474e808d664b3b24b94fdc3d5344295c4f /django/utils
parent960f5bc75901f76e9b4b356f98b22b494fb47611 (diff)
[1.6.x] Took advantage of django.utils.six.moves.urllib.*.
Backport of 6a6428a36 from master.
Diffstat (limited to 'django/utils')
-rw-r--r--django/utils/encoding.py5
-rw-r--r--django/utils/feedgenerator.py5
-rw-r--r--django/utils/html.py6
-rw-r--r--django/utils/http.py23
4 files changed, 13 insertions, 26 deletions
diff --git a/django/utils/encoding.py b/django/utils/encoding.py
index 116178c4c2..ad06336c4d 100644
--- a/django/utils/encoding.py
+++ b/django/utils/encoding.py
@@ -4,14 +4,11 @@ import codecs
import datetime
from decimal import Decimal
import locale
-try:
- from urllib.parse import quote
-except ImportError: # Python 2
- from urllib import quote
import warnings
from django.utils.functional import Promise
from django.utils import six
+from django.utils.six.moves.urllib.parse import quote
class DjangoUnicodeDecodeError(UnicodeDecodeError):
def __init__(self, obj, *args):
diff --git a/django/utils/feedgenerator.py b/django/utils/feedgenerator.py
index ed9ddda6fe..fee8e17865 100644
--- a/django/utils/feedgenerator.py
+++ b/django/utils/feedgenerator.py
@@ -24,15 +24,12 @@ http://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004/
from __future__ import unicode_literals
import datetime
-try:
- from urllib.parse import urlparse
-except ImportError: # Python 2
- from urlparse import urlparse
from django.utils.xmlutils import SimplerXMLGenerator
from django.utils.encoding import force_text, iri_to_uri
from django.utils import datetime_safe
from django.utils import six
from django.utils.six import StringIO
+from django.utils.six.moves.urllib.parse import urlparse
from django.utils.timezone import is_aware
def rfc2822_date(date):
diff --git a/django/utils/html.py b/django/utils/html.py
index 89e790d96f..b55a2234b5 100644
--- a/django/utils/html.py
+++ b/django/utils/html.py
@@ -3,16 +3,12 @@
from __future__ import unicode_literals
import re
-try:
- from urllib.parse import quote, unquote, urlsplit, urlunsplit
-except ImportError: # Python 2
- from urllib import quote, unquote
- from urlparse import urlsplit, urlunsplit
from django.utils.safestring import SafeData, mark_safe
from django.utils.encoding import force_text, force_str
from django.utils.functional import allow_lazy
from django.utils import six
+from django.utils.six.moves.urllib.parse import quote, unquote, urlsplit, urlunsplit
from django.utils.text import normalize_newlines
from .html_parser import HTMLParser, HTMLParseError
diff --git a/django/utils/http.py b/django/utils/http.py
index 85af230dd2..571a179830 100644
--- a/django/utils/http.py
+++ b/django/utils/http.py
@@ -5,12 +5,6 @@ import calendar
import datetime
import re
import sys
-try:
- from urllib import parse as urllib_parse
-except ImportError: # Python 2
- import urllib as urllib_parse
- import urlparse
- urllib_parse.urlparse = urlparse.urlparse
from binascii import Error as BinasciiError
from email.utils import formatdate
@@ -19,6 +13,9 @@ from django.utils.datastructures import MultiValueDict
from django.utils.encoding import force_str, force_text
from django.utils.functional import allow_lazy
from django.utils import six
+from django.utils.six.moves.urllib.parse import (
+ quote, quote_plus, unquote, unquote_plus, urlparse,
+ urlencode as original_urlencode)
ETAG_MATCH = re.compile(r'(?:W/)?"((?:\\.|[^"])*)"')
@@ -40,7 +37,7 @@ def urlquote(url, safe='/'):
can safely be used as part of an argument to a subsequent iri_to_uri() call
without double-quoting occurring.
"""
- return force_text(urllib_parse.quote(force_str(url), force_str(safe)))
+ return force_text(quote(force_str(url), force_str(safe)))
urlquote = allow_lazy(urlquote, six.text_type)
def urlquote_plus(url, safe=''):
@@ -50,7 +47,7 @@ def urlquote_plus(url, safe=''):
returned string can safely be used as part of an argument to a subsequent
iri_to_uri() call without double-quoting occurring.
"""
- return force_text(urllib_parse.quote_plus(force_str(url), force_str(safe)))
+ return force_text(quote_plus(force_str(url), force_str(safe)))
urlquote_plus = allow_lazy(urlquote_plus, six.text_type)
def urlunquote(quoted_url):
@@ -58,7 +55,7 @@ def urlunquote(quoted_url):
A wrapper for Python's urllib.unquote() function that can operate on
the result of django.utils.http.urlquote().
"""
- return force_text(urllib_parse.unquote(force_str(quoted_url)))
+ return force_text(unquote(force_str(quoted_url)))
urlunquote = allow_lazy(urlunquote, six.text_type)
def urlunquote_plus(quoted_url):
@@ -66,7 +63,7 @@ def urlunquote_plus(quoted_url):
A wrapper for Python's urllib.unquote_plus() function that can operate on
the result of django.utils.http.urlquote_plus().
"""
- return force_text(urllib_parse.unquote_plus(force_str(quoted_url)))
+ return force_text(unquote_plus(force_str(quoted_url)))
urlunquote_plus = allow_lazy(urlunquote_plus, six.text_type)
def urlencode(query, doseq=0):
@@ -79,7 +76,7 @@ def urlencode(query, doseq=0):
query = query.lists()
elif hasattr(query, 'items'):
query = query.items()
- return urllib_parse.urlencode(
+ return original_urlencode(
[(force_str(k),
[force_str(i) for i in v] if isinstance(v, (list,tuple)) else force_str(v))
for k, v in query],
@@ -244,7 +241,7 @@ def same_origin(url1, url2):
"""
Checks if two URLs are 'same-origin'
"""
- p1, p2 = urllib_parse.urlparse(url1), urllib_parse.urlparse(url2)
+ p1, p2 = urlparse(url1), urlparse(url2)
try:
return (p1.scheme, p1.hostname, p1.port) == (p2.scheme, p2.hostname, p2.port)
except ValueError:
@@ -259,6 +256,6 @@ def is_safe_url(url, host=None):
"""
if not url:
return False
- url_info = urllib_parse.urlparse(url)
+ url_info = urlparse(url)
return (not url_info.netloc or url_info.netloc == host) and \
(not url_info.scheme or url_info.scheme in ['http', 'https'])