diff options
| author | Chris McDonough <chrism@agendaless.com> | 2010-01-06 02:46:54 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2010-01-06 02:46:54 +0000 |
| commit | 3ebf0287eeb8c269a7a3b35ee1441d1b07118d7f (patch) | |
| tree | 2c6a500eaa4408cb26b4d2dffd7a2eb685adc2d8 /repoze/bfg/renderers.py | |
| parent | 9544d0f3406ae7994251577a8c087efc0ec907cc (diff) | |
| download | pyramid-3ebf0287eeb8c269a7a3b35ee1441d1b07118d7f.tar.gz pyramid-3ebf0287eeb8c269a7a3b35ee1441d1b07118d7f.tar.bz2 pyramid-3ebf0287eeb8c269a7a3b35ee1441d1b07118d7f.zip | |
- Show the derived abspath of template resource specifications in the
traceback when a renderer template cannot be found.
- Show the original traceback when a Chameleon template cannot be
rendered due to a platform incompatibility.
Diffstat (limited to 'repoze/bfg/renderers.py')
| -rw-r--r-- | repoze/bfg/renderers.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/repoze/bfg/renderers.py b/repoze/bfg/renderers.py index e937bd2a1..b54803b3b 100644 --- a/repoze/bfg/renderers.py +++ b/repoze/bfg/renderers.py @@ -46,19 +46,17 @@ def template_renderer_factory(spec, impl): # spec is a package:relpath resource spec renderer = reg.queryUtility(ITemplateRenderer, name=spec) if renderer is None: - # service unit tests by trying the relative path string as - # the utility name directly - renderer = reg.queryUtility(ITemplateRenderer, name=spec) - if renderer is None: try: package_name, filename = spec.split(':', 1) except ValueError: # pragma: no cover - # unit test or someone passing a relative pathname + # unit test or somehow we were passed a relative pathname; + # this should die package_name = caller_package(4).__name__ filename = spec - if not pkg_resources.resource_exists(package_name, filename): - raise ValueError('Missing template resource: %s' % spec) abspath = pkg_resources.resource_filename(package_name, filename) + if not pkg_resources.resource_exists(package_name, filename): + raise ValueError( + 'Missing template resource: %s (%s)' % (spec, abspath)) renderer = impl(abspath) if not _reload_resources(): # cache the template |
