summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-06-23 06:02:17 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-06-23 06:02:17 +0000
commitfc20eeec47f1bf7b178a0432fa74f54a452b62ce (patch)
treef3b94d120d7dafd1a11e617441324e103b0a7773
parent5f5f1d913bbe25dd9a33a2759144160e1473c12a (diff)
Fixed a Python 2.3 incompatibility I overlooked in [5516].
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5517 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/urlresolvers.py5
-rw-r--r--django/template/defaulttags.py7
-rw-r--r--django/utils/itercompat.py6
3 files changed, 12 insertions, 6 deletions
diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py
index 22604cf96d..669b2d1afa 100644
--- a/django/core/urlresolvers.py
+++ b/django/core/urlresolvers.py
@@ -12,6 +12,11 @@ from django.core.exceptions import ImproperlyConfigured, ViewDoesNotExist
from django.utils.functional import memoize
import re
+try:
+ reversed
+except NameError:
+ from django.utils.itercompat import reversed # Python 2.3 fallback
+
_resolver_cache = {} # Maps urlconf modules to RegexURLResolver instances.
_callable_cache = {} # Maps view and url pattern names to their view functions.
diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py
index 66443fc3b3..19beb29141 100644
--- a/django/template/defaulttags.py
+++ b/django/template/defaulttags.py
@@ -11,12 +11,7 @@ import re
try:
reversed
except NameError:
- # Python 2.3 fallback.
- # From http://www.python.org/doc/current/tut/node11.html
- def reversed(data):
- for index in xrange(len(data)-1, -1, -1):
- yield data[index]
-
+ from django.utils.itercompat import reversed # Python 2.3 fallback
register = Library()
diff --git a/django/utils/itercompat.py b/django/utils/itercompat.py
index 48a2d99d3a..ff814bfd7b 100644
--- a/django/utils/itercompat.py
+++ b/django/utils/itercompat.py
@@ -45,6 +45,12 @@ def groupby(iterable, keyfunc=None):
l.append(item)
yield lastkey, l
+# Not really in itertools, since it's a builtin in Python 2.4 and later, but it
+# does operate as an iterator.
+def reversed(data):
+ for index in xrange(len(data)-1, -1, -1):
+ yield data[index]
+
if hasattr(itertools, 'tee'):
tee = itertools.tee
else: