diff options
Diffstat (limited to 'repoze/bfg/templating.py')
| -rw-r--r-- | repoze/bfg/templating.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/repoze/bfg/templating.py b/repoze/bfg/templating.py index 3287f0808..1f242b306 100644 --- a/repoze/bfg/templating.py +++ b/repoze/bfg/templating.py @@ -21,10 +21,16 @@ def renderer_from_cache(path, factory, level=3, **kw): sm.registerUtility(renderer, ITemplateRenderer, name=path) else: - # 'path' is a relative filename - package = caller_package(level=level) - spec = (package.__name__, path) - utility_name = '%s:%s' % spec # utility name must be a string + # 'path' is a relative filename or a package:relpath spec + if ':' in path: + # it's a package:relpath spec + spec = path.split(':', 1) + utility_name = path + else: + # it's a relpath only + package = caller_package(level=level) + spec = (package.__name__, path) + utility_name = '%s:%s' % spec # utility name must be a string renderer = queryUtility(ITemplateRenderer, name=utility_name) if renderer is None: # service unit tests here by trying the relative path |
