Commit 222e15f3 by Chris Jerdonek

Made the Parser class's compile method private.

parent f2d1b0ad
...@@ -72,12 +72,12 @@ class Parser(object): ...@@ -72,12 +72,12 @@ class Parser(object):
self._delimiters = delimiters self._delimiters = delimiters
self.engine = engine self.engine = engine
def compile_template_re(self): def _compile_delimiters(self):
self._template_re = _compile_template_re(self._delimiters) self._template_re = _compile_template_re(self._delimiters)
def _change_delimiters(self, delimiters): def _change_delimiters(self, delimiters):
self._delimiters = delimiters self._delimiters = delimiters
self.compile_template_re() self._compile_delimiters()
def parse(self, template): def parse(self, template):
""" """
...@@ -96,6 +96,8 @@ class Parser(object): ...@@ -96,6 +96,8 @@ class Parser(object):
a ParsedTemplate instance. a ParsedTemplate instance.
""" """
self._compile_delimiters()
start_index = 0 start_index = 0
content_end_index, parsed_section, section_key = None, None, None content_end_index, parsed_section, section_key = None, None, None
parsed_template = ParsedTemplate() parsed_template = ParsedTemplate()
......
...@@ -235,19 +235,15 @@ class RenderEngine(object): ...@@ -235,19 +235,15 @@ class RenderEngine(object):
return get_section_value return get_section_value
def _parse(self, template, delimiters=None): def _render_unicode(self, template, context, delimiters=None):
""" """
Parse the given template, and return a ParsedTemplate instance. Render a unicode template string.
Arguments:
template: a template string of type unicode.
""" """
parser = Parser(self, delimiters=delimiters) parser = Parser(self, delimiters=delimiters)
parser.compile_template_re() parsed_template = parser.parse(template)
return parser.parse(template=template) return parsed_template.render(context)
def _render_value(self, val, context, delimiters=None): def _render_value(self, val, context, delimiters=None):
""" """
...@@ -278,9 +274,7 @@ class RenderEngine(object): ...@@ -278,9 +274,7 @@ class RenderEngine(object):
if type(template) is not unicode: if type(template) is not unicode:
raise Exception("Argument 'template' not unicode: %s: %s" % (type(template), repr(template))) raise Exception("Argument 'template' not unicode: %s: %s" % (type(template), repr(template)))
parsed_template = self._parse(template, delimiters) return self._render_unicode(template, context, delimiters)
return parsed_template.render(context)
def render(self, template, context): def render(self, template, context):
""" """
...@@ -299,4 +293,4 @@ class RenderEngine(object): ...@@ -299,4 +293,4 @@ class RenderEngine(object):
# don't use self.literal). # don't use self.literal).
template = unicode(template) template = unicode(template)
return self._render(template, context) return self._render_unicode(template, context)
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