Fixed #4462 -- Use builtin reversed() function when available (in "for" tag).
Thanks, Brian Harring. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5454 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a33fb695e3
commit
03ecc00f6e
|
@ -7,6 +7,14 @@ from django.conf import settings
|
|||
import sys
|
||||
import re
|
||||
|
||||
if not hasattr(__builtins__, 'reversed'):
|
||||
# For Python 2.3.
|
||||
# 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]
|
||||
|
||||
|
||||
register = Library()
|
||||
|
||||
class CommentNode(Node):
|
||||
|
@ -103,11 +111,7 @@ class ForNode(Node):
|
|||
values = list(values)
|
||||
len_values = len(values)
|
||||
if self.reversed:
|
||||
# From http://www.python.org/doc/current/tut/node11.html
|
||||
def reverse(data):
|
||||
for index in range(len(data)-1, -1, -1):
|
||||
yield data[index]
|
||||
values = reverse(values)
|
||||
values = reversed(values)
|
||||
unpack = len(self.loopvars) > 1
|
||||
for i, item in enumerate(values):
|
||||
context['forloop'] = {
|
||||
|
|
Loading…
Reference in New Issue