Commit 331a48d0 by Chris Jerdonek

ParsedTemplate docstring udpates and removed RenderEngine.render_parsed().

parent 8f9da1a7
...@@ -3,39 +3,27 @@ ...@@ -3,39 +3,27 @@
""" """
Exposes a class that represents a parsed (or compiled) template. Exposes a class that represents a parsed (or compiled) template.
This module is meant only for internal use.
""" """
class ParsedTemplate(object): class ParsedTemplate(object):
def __init__(self): def __init__(self):
"""
Arguments:
parse_tree: a list, each element of which is either--
(1) a unicode string, or
(2) a "rendering" callable that accepts a ContextStack instance
and returns a unicode string.
The possible rendering callables are the return values of the
following functions:
* RenderEngine._make_get_escaped()
* RenderEngine._make_get_inverse()
* RenderEngine._make_get_literal()
* RenderEngine._make_get_partial()
* RenderEngine._make_get_section()
"""
self._parse_tree = [] self._parse_tree = []
def __repr__(self): def __repr__(self):
return repr(self._parse_tree) return repr(self._parse_tree)
def add(self, node): def add(self, node):
"""
Arguments:
node: a unicode string or node object instance. A node object
instance must have a `render(engine, stack)` method that
accepts a RenderEngine instance and a ContextStack instance and
returns a unicode string.
"""
self._parse_tree.append(node) self._parse_tree.append(node)
def render(self, engine, context): def render(self, engine, context):
......
...@@ -166,7 +166,7 @@ class _InvertedNode(object): ...@@ -166,7 +166,7 @@ class _InvertedNode(object):
# per the spec. # per the spec.
if data: if data:
return u'' return u''
return engine.render_parsed(self.parsed_section, context) return self.parsed_section.render(engine, context)
class _SectionNode(object): class _SectionNode(object):
...@@ -212,7 +212,7 @@ class _SectionNode(object): ...@@ -212,7 +212,7 @@ class _SectionNode(object):
continue continue
context.push(val) context.push(val)
parts.append(engine.render_parsed(self.parsed, context)) parts.append(self.parsed.render(engine, context))
context.pop() context.pop()
return unicode(''.join(parts)) return unicode(''.join(parts))
......
...@@ -150,9 +150,6 @@ class RenderEngine(object): ...@@ -150,9 +150,6 @@ class RenderEngine(object):
val = self.literal(val) val = self.literal(val)
return self.render(val, context, delimiters) return self.render(val, context, delimiters)
def render_parsed(self, parsed_template, context_stack):
return parsed_template.render(self, context_stack)
def render(self, template, context_stack, delimiters=None): def render(self, template, context_stack, delimiters=None):
""" """
Render a unicode template string, and return as unicode. Render a unicode template string, and return as unicode.
...@@ -167,4 +164,4 @@ class RenderEngine(object): ...@@ -167,4 +164,4 @@ class RenderEngine(object):
""" """
parsed_template = parse(template, delimiters) parsed_template = parse(template, delimiters)
return self.render_parsed(parsed_template, context_stack) return parsed_template.render(self, context_stack)
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