# HG changeset patch # User Jeff Hammel # Date 1485887082 28800 # Node ID 747c7e337c56fd6648a9059c7b6b00ea2ef925d8 # Parent 82ee67b95a0c3e3362b558638ed1aeb5e515ac3a add local directory for template rendering diff -r 82ee67b95a0c -r 747c7e337c56 decoupage/web.py --- a/decoupage/web.py Tue Aug 23 19:30:03 2016 -0700 +++ b/decoupage/web.py Tue Jan 31 10:24:42 2017 -0800 @@ -24,6 +24,7 @@ from genshi.template import TemplateLoader from genshi.template.base import TemplateError from genshi.template.base import TemplateSyntaxError +from genshi.template.loader import TemplateNotFound from martini.config import ConfigMunger from paste.fileapp import FileApp from pkg_resources import iter_entry_points @@ -31,9 +32,11 @@ from pkg_resources import resource_filename from webob import Request, Response, exc + transformers = transformers() string = (str, unicode) + class FileSorter(object): def __init__(self, *keys): self.keys = keys @@ -237,15 +240,20 @@ if template in os.listdir(_directory): break else: - raise IOError("template %s not found" % template) + raise TemplateNotFound("template %s not found" % template) + + # extend template `search_path` to include local directory + self.loader.search_path.insert(0, directory) try: template = self.loader.load(template) res = template.generate(**data).render('html', doctype='html') - except (TemplateError, TemplateSyntaxError), e: + except (TemplateError, TemplateSyntaxError, TemplateNotFound), e: if local_index: print repr(e) return self.fileserver(local_index) raise + finally: + self.loader.search_path.pop(0) # set charset if given kw = {} diff -r 82ee67b95a0c -r 747c7e337c56 setup.py --- a/setup.py Tue Aug 23 19:30:03 2016 -0700 +++ b/setup.py Tue Jan 31 10:24:42 2017 -0800 @@ -6,7 +6,7 @@ except IOError: description = '' -version = '0.14.0' +version = '0.14.1' setup(name='decoupage', version=version,