Commit 8d3e051a by Chris Jerdonek

Refactored render_parse_tree() method.

parent b30e1c2a
...@@ -43,14 +43,15 @@ def parse(template, view, delims=('{{', '}}')): ...@@ -43,14 +43,15 @@ def parse(template, view, delims=('{{', '}}')):
tmpl._compile_regexps() tmpl._compile_regexps()
return tmpl.parse_to_tree(template) return tmpl.parse_to_tree(template)
def renderParseTree(parsed, view, template): def render_parse_tree(parse_tree, view, template):
n = len(parsed) get_string = lambda val: call(val, view, template)
parts = map(call, parsed, [view] * n, [template] * n) parts = map(get_string, parse_tree)
return ''.join(parts) return ''.join(parts)
def render(template, view, delims=('{{', '}}')): def render(template, view, delims=('{{', '}}')):
parseTree = parse(template, view, delims) parseTree = parse(template, view, delims)
return renderParseTree(parseTree, view, template) return render_parse_tree(parseTree, view, template)
def partialTag(name, indentation=''): def partialTag(name, indentation=''):
def func(self): def func(self):
...@@ -74,7 +75,7 @@ def sectionTag(name, parsed, template, delims): ...@@ -74,7 +75,7 @@ def sectionTag(name, parsed, template, delims):
parts = [] parts = []
for element in data: for element in data:
self.context_list.insert(0, element) self.context_list.insert(0, element)
parts.append(renderParseTree(ast, self, delims)) parts.append(render_parse_tree(ast, self, delims))
del self.context_list[0] del self.context_list[0]
return ''.join(parts) return ''.join(parts)
...@@ -85,7 +86,7 @@ def inverseTag(name, parsed, template, delims): ...@@ -85,7 +86,7 @@ def inverseTag(name, parsed, template, delims):
data = self.get(name) data = self.get(name)
if data: if data:
return '' return ''
return renderParseTree(parsed, self, delims) return render_parse_tree(parsed, self, delims)
return func return func
def escape_tag_function(name): def escape_tag_function(name):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment