Changeset 8215 for django/branches/gis/django/template/defaulttags.py
- Timestamp:
- 08/05/08 12:15:33 (5 months ago)
- Files:
-
- django/branches/gis (modified) (1 prop)
- django/branches/gis/django/template/defaulttags.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/gis
- Property svnmerge-integrated changed from /django/trunk:1-7978 to /django/trunk:1-8214
django/branches/gis/django/template/defaulttags.py
r7768 r8215 158 158 159 159 class IfChangedNode(Node): 160 def __init__(self, nodelist , *varlist):161 self.nodelist = nodelist160 def __init__(self, nodelist_true, nodelist_false, *varlist): 161 self.nodelist_true, self.nodelist_false = nodelist_true, nodelist_false 162 162 self._last_seen = None 163 163 self._varlist = map(Variable, varlist) … … 174 174 compare_to = [var.resolve(context) for var in self._varlist] 175 175 else: 176 compare_to = self.nodelist .render(context)176 compare_to = self.nodelist_true.render(context) 177 177 except VariableDoesNotExist: 178 178 compare_to = None 179 179 180 if compare_to != self._last_seen:180 if compare_to != self._last_seen: 181 181 firstloop = (self._last_seen == None) 182 182 self._last_seen = compare_to 183 183 context.push() 184 184 context['ifchanged'] = {'firstloop': firstloop} 185 content = self.nodelist .render(context)185 content = self.nodelist_true.render(context) 186 186 context.pop() 187 187 return content 188 else: 189 return '' 188 elif self.nodelist_false: 189 return self.nodelist_false.render(context) 190 return '' 190 191 191 192 class IfEqualNode(Node): … … 364 365 return reverse(self.view_name, args=args, kwargs=kwargs) 365 366 except NoReverseMatch: 366 try: 367 project_name = settings.SETTINGS_MODULE.split('.')[0] 368 return reverse(project_name + '.' + self.view_name, 369 args=args, kwargs=kwargs) 370 except NoReverseMatch: 371 return '' 367 project_name = settings.SETTINGS_MODULE.split('.')[0] 368 return reverse(project_name + '.' + self.view_name, 369 args=args, kwargs=kwargs) 372 370 373 371 class WidthRatioNode(Node): … … 804 802 """ 805 803 bits = token.contents.split() 806 nodelist = parser.parse(('endifchanged',)) 807 parser.delete_first_token() 808 return IfChangedNode(nodelist, *bits[1:]) 804 nodelist_true = parser.parse(('else', 'endifchanged')) 805 token = parser.next_token() 806 if token.contents == 'else': 807 nodelist_false = parser.parse(('endifchanged',)) 808 parser.delete_first_token() 809 else: 810 nodelist_false = NodeList() 811 return IfChangedNode(nodelist_true, nodelist_false, *bits[1:]) 809 812 ifchanged = register.tag(ifchanged) 810 813
