1
0
mirror of https://github.com/django/django.git synced 2025-10-29 08:36:09 +00:00

[1.8.x] Fixed #25031 -- Fixed a regression in the unordered_list template filter.

Backport of e291fc4757 from master
This commit is contained in:
Noam
2015-06-25 13:46:11 +03:00
committed by Tim Graham
parent 4296801463
commit fd61ce3817
3 changed files with 30 additions and 15 deletions

View File

@@ -681,22 +681,27 @@ def unordered_list(value, autoescape=True):
def walk_items(item_list):
item_iterator = iter(item_list)
for item in item_iterator:
try:
next_item = next(item_iterator)
except StopIteration:
next_item = None
if not isinstance(next_item, six.string_types):
try:
item = next(item_iterator)
while True:
try:
iter(next_item)
except TypeError:
pass
else:
yield item, next_item
continue
yield item, None
if next_item:
yield next_item, None
next_item = next(item_iterator)
except StopIteration:
yield item, None
break
if not isinstance(next_item, six.string_types):
try:
iter(next_item)
except TypeError:
pass
else:
yield item, next_item
item = next(item_iterator)
continue
yield item, None
item = next_item
except StopIteration:
pass
def list_formatter(item_list, tabs=1):
indent = '\t' * tabs