# HG changeset patch # User k0s # Date 1261950266 18000 # Node ID 24cd9c7749ce41d9e53d9bae117fd3671f13278f # Parent 4a9ceda73d92d7bcc5d64c3e1b57e6f810cf539d * allow multiple template dirs * allow endpoint app if used in middleware diff -r 4a9ceda73d92 -r 24cd9c7749ce genshi_view/template/+package+/dispatcher.py --- a/genshi_view/template/+package+/dispatcher.py Fri Nov 20 16:42:57 2009 -0500 +++ b/genshi_view/template/+package+/dispatcher.py Sun Dec 27 16:44:26 2009 -0500 @@ -16,6 +16,8 @@ ### class level variables defaults = { 'auto_reload': 'False', + 'template_dirs': '', + 'app': None, 'name': 'anonymous' } def __init__(self, **kw): @@ -28,9 +30,14 @@ # request handlers self.handlers = [ Index ] + # endpoint app if used as middleware + if self.app: + assert hasattr(self.app, '__call__') + # template loader - templates_dir = resource_filename(__name__, 'templates') - self.loader = TemplateLoader(templates_dir, + self.template_dirs = self.template_dirs.split() + self.template_dirs.append(resource_filename(__name__, 'templates')) + self.loader = TemplateLoader(self.template_dirs, auto_reload=self.auto_reload) def __call__(self, environ, start_response): @@ -50,6 +57,8 @@ if handler is not None: break else: + if self.app: + return self.app(environ, start_response) handler = exc.HTTPNotFound # add navigation links to handler [example] diff -r 4a9ceda73d92 -r 24cd9c7749ce setup.py --- a/setup.py Fri Nov 20 16:42:57 2009 -0500 +++ b/setup.py Sun Dec 27 16:44:26 2009 -0500 @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -version = '0.2.1' +version = '0.3' setup(name='genshi_view', version=version,