Changeset 6956
- Timestamp:
- 12/19/07 00:11:55 (2 years ago)
- Files:
-
- django/trunk/django/template/defaulttags.py (modified) (1 diff)
- django/trunk/tests/regressiontests/templates/tests.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/template/defaulttags.py
r6923 r6956 927 927 928 928 """ 929 firstbits = token.contents.split(None, 3)930 if len( firstbits) != 4:929 bits = token.contents.split() 930 if len(bits) != 6: 931 931 raise TemplateSyntaxError, "'regroup' tag takes five arguments" 932 target = parser.compile_filter( firstbits[1])933 if firstbits[2] != 'by':932 target = parser.compile_filter(bits[1]) 933 if bits[2] != 'by': 934 934 raise TemplateSyntaxError("second argument to 'regroup' tag must be 'by'") 935 lastbits_reversed = firstbits[3][::-1].split(None, 2) 936 if lastbits_reversed[1][::-1] != 'as': 935 if bits[4] != 'as': 937 936 raise TemplateSyntaxError("next-to-last argument to 'regroup' tag must" 938 937 " be 'as'") 939 938 940 expression = parser.compile_filter(lastbits_reversed[2][::-1]) 941 942 var_name = lastbits_reversed[0][::-1] 939 expression = parser.compile_filter(bits[3]) 940 var_name = bits[5] 943 941 return RegroupNode(target, expression, var_name) 944 942 regroup = register.tag(regroup) django/trunk/tests/regressiontests/templates/tests.py
r6854 r6956 808 808 '{% endfor %}', 809 809 {}, ''), 810 811 # Test syntax. 812 'regroup03': ('{% regroup data by bar as %}', {}, 813 template.TemplateSyntaxError), 814 'regroup04': ('{% regroup data by bar thisaintright grouped %}', {}, 815 template.TemplateSyntaxError), 816 'regroup05': ('{% regroup data thisaintright bar as grouped %}', {}, 817 template.TemplateSyntaxError), 818 'regroup06': ('{% regroup data by bar as grouped toomanyargs %}', {}, 819 template.TemplateSyntaxError), 810 820 811 821 ### TEMPLATETAG TAG #######################################################
