From: Stephen Burrows Date: Mon, 4 Oct 2010 14:17:27 +0000 (-0400) Subject: Switched nodelist crawl to return the more generic 'results' of the crawl, rather... X-Git-Tag: philo-0.9~30^2~1 X-Git-Url: http://git.ithinksw.org/philo.git/commitdiff_plain/89ccd16497c79398a27387bf42016e888afec9eb Switched nodelist crawl to return the more generic 'results' of the crawl, rather than 'nodes'. Fixed missing import for TemplateValidationParser. --- diff --git a/utils.py b/utils.py index a63ac74..deb009c 100644 --- a/utils.py +++ b/utils.py @@ -128,13 +128,13 @@ def nodelist_crawl(nodelist, callback): """This function crawls through a template's nodelist and the nodelists of any included or extended templates, as determined by the presence and value of on a node. Each node will also be passed to a callback function for additional processing.""" - nodes = [] + results = [] for node in nodelist: try: if hasattr(node, 'child_nodelists'): for nodelist_name in node.child_nodelists: if hasattr(node, nodelist_name): - nodes.extend(nodelist_crawl(getattr(node, nodelist_name), callback)) + results.extend(nodelist_crawl(getattr(node, nodelist_name), callback)) # LOADED_TEMPLATE_ATTR contains the name of an attribute philo uses to declare a # node as rendering an additional template. Philo monkeypatches the attribute onto @@ -142,9 +142,9 @@ def nodelist_crawl(nodelist, callback): if hasattr(node, LOADED_TEMPLATE_ATTR): loaded_template = getattr(node, LOADED_TEMPLATE_ATTR) if loaded_template: - nodes.extend(nodelist_crawl(loaded_template.nodelist, callback)) + results.extend(nodelist_crawl(loaded_template.nodelist, callback)) - callback(node, nodes) + callback(node, results) except: raise # fail for this node - return nodes \ No newline at end of file + return results \ No newline at end of file diff --git a/validators.py b/validators.py index 54ab3b1..1305afb 100644 --- a/validators.py +++ b/validators.py @@ -1,7 +1,7 @@ from django.utils.translation import ugettext_lazy as _ from django.core.validators import RegexValidator from django.core.exceptions import ValidationError -from django.template import Template, Parser, Lexer, TOKEN_BLOCK, TOKEN_VAR +from django.template import Template, Parser, Lexer, TOKEN_BLOCK, TOKEN_VAR, TemplateSyntaxError from django.utils import simplejson as json import re from philo.utils import LOADED_TEMPLATE_ATTR