mirror of https://github.com/django/django.git
Renamed 'reversed' variable to 'is_reversed' in ForLoop template tag implementation, to avoid potential conflicts with the 'reversed' built-in and to make the code more obvious
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6976 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
abffdf5940
commit
e7b338d10e
|
@ -84,19 +84,16 @@ class FirstOfNode(Node):
|
||||||
return u''
|
return u''
|
||||||
|
|
||||||
class ForNode(Node):
|
class ForNode(Node):
|
||||||
def __init__(self, loopvars, sequence, reversed, nodelist_loop):
|
def __init__(self, loopvars, sequence, is_reversed, nodelist_loop):
|
||||||
self.loopvars, self.sequence = loopvars, sequence
|
self.loopvars, self.sequence = loopvars, sequence
|
||||||
self.reversed = reversed
|
self.is_reversed = is_reversed
|
||||||
self.nodelist_loop = nodelist_loop
|
self.nodelist_loop = nodelist_loop
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
if self.reversed:
|
reversed_text = self.is_reversed and ' reversed' or ''
|
||||||
reversed = ' reversed'
|
|
||||||
else:
|
|
||||||
reversed = ''
|
|
||||||
return "<For Node: for %s in %s, tail_len: %d%s>" % \
|
return "<For Node: for %s in %s, tail_len: %d%s>" % \
|
||||||
(', '.join(self.loopvars), self.sequence, len(self.nodelist_loop),
|
(', '.join(self.loopvars), self.sequence, len(self.nodelist_loop),
|
||||||
reversed)
|
reversed_text)
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
for node in self.nodelist_loop:
|
for node in self.nodelist_loop:
|
||||||
|
@ -125,7 +122,7 @@ class ForNode(Node):
|
||||||
if not hasattr(values, '__len__'):
|
if not hasattr(values, '__len__'):
|
||||||
values = list(values)
|
values = list(values)
|
||||||
len_values = len(values)
|
len_values = len(values)
|
||||||
if self.reversed:
|
if self.is_reversed:
|
||||||
values = reversed(values)
|
values = reversed(values)
|
||||||
unpack = len(self.loopvars) > 1
|
unpack = len(self.loopvars) > 1
|
||||||
for i, item in enumerate(values):
|
for i, item in enumerate(values):
|
||||||
|
@ -619,8 +616,8 @@ def do_for(parser, token):
|
||||||
raise TemplateSyntaxError("'for' statements should have at least four"
|
raise TemplateSyntaxError("'for' statements should have at least four"
|
||||||
" words: %s" % token.contents)
|
" words: %s" % token.contents)
|
||||||
|
|
||||||
reversed = bits[-1] == 'reversed'
|
is_reversed = bits[-1] == 'reversed'
|
||||||
in_index = reversed and -3 or -2
|
in_index = is_reversed and -3 or -2
|
||||||
if bits[in_index] != 'in':
|
if bits[in_index] != 'in':
|
||||||
raise TemplateSyntaxError("'for' statements should use the format"
|
raise TemplateSyntaxError("'for' statements should use the format"
|
||||||
" 'for x in y': %s" % token.contents)
|
" 'for x in y': %s" % token.contents)
|
||||||
|
@ -634,7 +631,7 @@ def do_for(parser, token):
|
||||||
sequence = parser.compile_filter(bits[in_index+1])
|
sequence = parser.compile_filter(bits[in_index+1])
|
||||||
nodelist_loop = parser.parse(('endfor',))
|
nodelist_loop = parser.parse(('endfor',))
|
||||||
parser.delete_first_token()
|
parser.delete_first_token()
|
||||||
return ForNode(loopvars, sequence, reversed, nodelist_loop)
|
return ForNode(loopvars, sequence, is_reversed, nodelist_loop)
|
||||||
do_for = register.tag("for", do_for)
|
do_for = register.tag("for", do_for)
|
||||||
|
|
||||||
def do_ifequal(parser, token, negate):
|
def do_ifequal(parser, token, negate):
|
||||||
|
|
Loading…
Reference in New Issue