Commit 40a4b23c by Chris Jerdonek

The Loader.load_template() method now accepts only a template_name.

parent a6559835
......@@ -12,33 +12,26 @@ class Loader(object):
template_path = '.'
def __init__(self, search_dirs=None, template_encoding=None, template_extension=None):
def __init__(self, search_dirs=None, encoding=None, extension=None):
"""
Construct a template loader.
"""
if template_extension is None:
template_extension = 'mustache'
if extension is None:
extension = 'mustache'
self.search_dirs = search_dirs
self.template_encoding = template_encoding
self.template_extension = template_extension
self.template_encoding = encoding
self.template_extension = extension
def load_template(self, template_name, template_dirs=None, encoding=None, extension=None):
def load_template(self, template_name):
"""
Find and load the given template, and return it as a string.
Raises an IOError if the template cannot be found.
"""
if template_dirs is None:
template_dirs = self.search_dirs or self.template_path
if encoding is not None:
self.template_encoding = encoding
if extension is not None:
self.template_extension = extension
template_dirs = self.search_dirs or self.template_path
file_name = template_name + '.' + self.template_extension
......
......@@ -63,9 +63,9 @@ class View(object):
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)
loader = Loader(search_dirs=self.template_path, encoding=self.template_encoding,
extension=self.template_extension)
return loader.load_template(template_name)
def get_template(self, template_name):
"""
......
......@@ -15,24 +15,24 @@ class LoaderTestCase(unittest.TestCase):
self.assertTrue(loader.template_encoding is None)
self.assertEquals(loader.template_extension, 'mustache')
loader = Loader(search_dirs=['foo'], template_encoding='utf-8', template_extension='txt')
loader = Loader(search_dirs=['foo'], encoding='utf-8', extension='txt')
self.assertEquals(loader.search_dirs, ['foo'])
self.assertEquals(loader.template_encoding, 'utf-8')
self.assertEquals(loader.template_extension, 'txt')
def test_template_is_loaded(self):
loader = Loader()
template = loader.load_template('simple', 'examples')
loader = Loader(search_dirs='examples')
template = loader.load_template('simple')
self.assertEqual(template, 'Hi {{thing}}!{{blank}}')
def test_using_list_of_paths(self):
loader = Loader()
template = loader.load_template('simple', ['doesnt_exist', 'examples'])
loader = Loader(search_dirs=['doesnt_exist', 'examples'])
template = loader.load_template('simple')
self.assertEqual(template, 'Hi {{thing}}!{{blank}}')
def test_non_existent_template_fails(self):
loader = Loader()
self.assertRaises(IOError, loader.load_template, 'simple', 'doesnt_exist')
self.assertRaises(IOError, loader.load_template, 'doesnt_exist')
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