Changeset 6996
- Timestamp:
- 01/04/08 18:03:12 (9 months 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
r6981 r6996 925 925 926 926 """ 927 bits = token.contents.split()928 if len( bits) != 6:927 firstbits = token.contents.split(None, 3) 928 if len(firstbits) != 4: 929 929 raise TemplateSyntaxError, "'regroup' tag takes five arguments" 930 target = parser.compile_filter( bits[1])931 if bits[2] != 'by':930 target = parser.compile_filter(firstbits[1]) 931 if firstbits[2] != 'by': 932 932 raise TemplateSyntaxError("second argument to 'regroup' tag must be 'by'") 933 if bits[4] != 'as': 933 lastbits_reversed = firstbits[3][::-1].split(None, 2) 934 if lastbits_reversed[1][::-1] != 'as': 934 935 raise TemplateSyntaxError("next-to-last argument to 'regroup' tag must" 935 936 " be 'as'") 936 937 937 expression = parser.compile_filter(bits[3]) 938 var_name = bits[5] 938 expression = parser.compile_filter(lastbits_reversed[2][::-1]) 939 940 var_name = lastbits_reversed[0][::-1] 939 941 return RegroupNode(target, expression, var_name) 940 942 regroup = register.tag(regroup) django/trunk/tests/regressiontests/templates/tests.py
r6981 r6996 810 810 '{% endfor %}', 811 811 {}, ''), 812 813 # Test syntax.814 'regroup03': ('{% regroup data by bar as %}', {},815 template.TemplateSyntaxError),816 'regroup04': ('{% regroup data by bar thisaintright grouped %}', {},817 template.TemplateSyntaxError),818 'regroup05': ('{% regroup data thisaintright bar as grouped %}', {},819 template.TemplateSyntaxError),820 'regroup06': ('{% regroup data by bar as grouped toomanyargs %}', {},821 template.TemplateSyntaxError),822 812 823 813 ### TEMPLATETAG TAG #######################################################
