From 6be00774a4d65fc4d84c297ca6bd36c9c86fbca9 Mon Sep 17 00:00:00 2001 From: Luke Plant Date: Wed, 20 Oct 2010 13:07:06 +0000 Subject: [PATCH] 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 --- django/core/cache/__init__.py | 11 +++++++++-- django/http/__init__.py | 8 +++++++- 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