summaryrefslogtreecommitdiff
path: root/pystache/renderengine.py
diff options
context:
space:
mode:
Diffstat (limited to 'pystache/renderengine.py')
-rw-r--r--pystache/renderengine.py33
1 files changed, 6 insertions, 27 deletions
diff --git a/pystache/renderengine.py b/pystache/renderengine.py
index 16cd940..80f795d 100644
--- a/pystache/renderengine.py
+++ b/pystache/renderengine.py
@@ -106,30 +106,6 @@ class RenderEngine(object):
return val
- def _make_get_literal(self, name):
- def get_literal(context):
- """
- Returns: a string of type unicode.
-
- """
- s = self._get_string_value(context, name)
- return self.literal(s)
-
- return get_literal
-
- def _make_get_escaped(self, name):
- get_literal = self._make_get_literal(name)
-
- def get_escaped(context):
- """
- Returns: a string of type unicode.
-
- """
- s = self._get_string_value(context, name)
- return self.escape(s)
-
- return get_escaped
-
def _make_get_partial(self, tag_key, leading_whitespace):
template = self.resolve_partial(tag_key)
@@ -158,7 +134,7 @@ class RenderEngine(object):
# Per the spec, lambdas in inverted sections are considered truthy.
if data:
return u''
- return parsed_template.render(context)
+ return self._render_parsed(parsed_template, context)
return get_inverse
@@ -228,13 +204,16 @@ class RenderEngine(object):
continue
context.push(val)
- parts.append(parsed_template.render(context))
+ parts.append(self._render_parsed(parsed_template, context))
context.pop()
return unicode(''.join(parts))
return get_section_value
+ def _render_parsed(self, parsed_template, context_stack):
+ return parsed_template.render(self, context_stack)
+
def _render_value(self, val, context, delimiters=None):
"""
Render an arbitrary value.
@@ -262,4 +241,4 @@ class RenderEngine(object):
parser = Parser(self, delimiters=delimiters)
parsed_template = parser.parse(template)
- return parsed_template.render(context_stack)
+ return self._render_parsed(parsed_template, context_stack)