From 93e83546a35f268a4bbf0a9b30186fc4ee1b0885 Mon Sep 17 00:00:00 2001 From: Luke Plant Date: Mon, 13 Sep 2010 22:34:39 +0000 Subject: [PATCH] [1.2.X] Fixed #12965 - unordered_list template filter fails when given a non-iterable second item in a two item list Thanks to grahamu for the report and patch. Backport of [13845] from trunk git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@13846 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/template/defaultfilters.py | 4 ++++ tests/regressiontests/defaultfilters/tests.py | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py index 1e58ff71ca..80002c3b0b 100644 --- a/django/template/defaultfilters.py +++ b/django/template/defaultfilters.py @@ -601,6 +601,10 @@ def unordered_list(value, autoescape=None): first_item, second_item = list_ if second_item == []: return [first_item], True + try: + it = iter(second_item) # see if second item is iterable + except TypeError: + return list_, False old_style_list = True new_second_item = [] for sublist in second_item: diff --git a/tests/regressiontests/defaultfilters/tests.py b/tests/regressiontests/defaultfilters/tests.py index 25555081e4..ff49b65d68 100644 --- a/tests/regressiontests/defaultfilters/tests.py +++ b/tests/regressiontests/defaultfilters/tests.py @@ -347,6 +347,17 @@ u'\t
  • item 1\n\t