Commit 5f1c034d by Chris Jerdonek

Added View.load_template() to eliminate some cut-and-paste.

 * Template._render_partial() now calls View.load_template().

 * View.get_template() now calls View.load_template().

 * Added test case test_view.py to test View.load_template().

 * Removed trailing white space from view.py.

 * Removed trailing white space from test_view.py.
parent d8067382
......@@ -159,8 +159,7 @@ class Template(object):
@modifiers.set('>')
def _render_partial(self, template_name):
from pystache import Loader
markup = Loader().load_template(template_name, self.view.template_path, encoding=self.view.template_encoding, extension=self.view.template_extension)
markup = self.view.load_template(template_name)
template = Template(markup, self.view)
return template.render()
......
......@@ -41,11 +41,15 @@ class View(object):
else:
return attr
def load_template(self, template_name):
from pystache import Loader
return Loader().load_template(template_name, self.template_path,
encoding=self.template_encoding, extension=self.template_extension)
def get_template(self, template_name):
if not self.template:
from pystache import Loader
template_name = self._get_template_name(template_name)
self.template = Loader().load_template(template_name, self.template_path, encoding=self.template_encoding, extension=self.template_extension)
self.template = self.load_template(template_name)
return self.template
......
......@@ -22,6 +22,14 @@ class TestView(unittest.TestCase):
view = Simple(thing='world')
self.assertEquals(view.render(), "Hi world!")
def test_load_template(self):
"""
Test View.load_template().
"""
template = Simple().load_template("escaped")
self.assertEquals(template, "<h1>{{title}}</h1>")
def test_template_load_from_multiple_path(self):
path = Simple.template_path
Simple.template_path = ('examples/nowhere','examples',)
......
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