summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2010-10-20 13:07:06 +0000
committerLuke Plant <L.Plant.98@cantab.net>2010-10-20 13:07:06 +0000
commit6be00774a4d65fc4d84c297ca6bd36c9c86fbca9 (patch)
treed7ba743fcbdac51265e27a7f218750a41da502e5
parent40a2a1c59d380e7ed3d95b6cfd287b440ff0bd3a (diff)
Consistent imports for parse_qsl function, avoiding the `PendingDeprecationWarning` under Python 2.6 and later
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14297 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/cache/__init__.py11
-rw-r--r--django/http/__init__.py8
2 files changed, 16 insertions, 3 deletions
diff --git a/django/core/cache/__init__.py b/django/core/cache/__init__.py
index 41cbc76bc8..7c3f0927eb 100644
--- a/django/core/cache/__init__.py
+++ b/django/core/cache/__init__.py
@@ -16,9 +16,16 @@ See docs/cache.txt for information on the public API.
"""
try:
- from urlparse import parse_qsl
+ # The mod_python version is more efficient, so try importing it first.
+ from mod_python.util import parse_qsl
except ImportError:
- from cgi import parse_qsl
+ try:
+ # Python 2.6 and greater
+ from urlparse import parse_qsl
+ except ImportError:
+ # Python 2.5, 2.4. Works on Python 2.6 but raises
+ # PendingDeprecationWarning
+ from cgi import parse_qsl
from django.conf import settings
from django.core import signals
diff --git a/django/http/__init__.py b/django/http/__init__.py
index 46232bee18..406c217b28 100644
--- a/django/http/__init__.py
+++ b/django/http/__init__.py
@@ -10,7 +10,13 @@ try:
# The mod_python version is more efficient, so try importing it first.
from mod_python.util import parse_qsl
except ImportError:
- from cgi import parse_qsl
+ try:
+ # Python 2.6 and greater
+ from urlparse import parse_qsl
+ except ImportError:
+ # Python 2.5, 2.4. Works on Python 2.6 but raises
+ # PendingDeprecationWarning
+ from cgi import parse_qsl
from django.utils.datastructures import MultiValueDict, ImmutableList
from django.utils.encoding import smart_str, iri_to_uri, force_unicode