diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-11-23 04:51:35 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-11-23 04:51:35 +0000 |
| commit | 6fec211488f87f9207fda9c39b21e83c6359c727 (patch) | |
| tree | 0ad5de2211e9b71aed1d12ad3cbc97efd50b7c22 /repoze/bfg/renderers.py | |
| parent | 8dd3ce0142e8055cfc6c9e793b5c781c4691e2c0 (diff) | |
| download | pyramid-6fec211488f87f9207fda9c39b21e83c6359c727.tar.gz pyramid-6fec211488f87f9207fda9c39b21e83c6359c727.tar.bz2 pyramid-6fec211488f87f9207fda9c39b21e83c6359c727.zip | |
- The ``repoze.bfg.scripting.get_root`` API now uses a 'real' WebOb
request rather than a FakeRequest when it sets up the request as a
threadlocal.
- The ``repoze.bfg.traversal.traverse`` API now uses a 'real' WebOb
request rather than a FakeRequest when it calls the traverser.
- The ``repoze.bfg.request.FakeRequest`` class has been removed.
``repoze.bfg.url.route_url``
``repoze.bfg.url.model_url``
``repoze.bfg.url.static_url``
``repoze.bfg.traversal.virtual_root``
Each of these functions now expects to be called with a request
object that has a ``registry`` attribute which represents the
current ZCA registry.
Get rid of extraneous uses of ZCA threadlocal API.
Diffstat (limited to 'repoze/bfg/renderers.py')
| -rw-r--r-- | repoze/bfg/renderers.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/repoze/bfg/renderers.py b/repoze/bfg/renderers.py index 8fa6e5c31..424c400ac 100644 --- a/repoze/bfg/renderers.py +++ b/repoze/bfg/renderers.py @@ -1,14 +1,12 @@ import os import pkg_resources -from zope.component import getSiteManager -from zope.component import queryUtility - from repoze.bfg.interfaces import ITemplateRenderer from repoze.bfg.compat import json from repoze.bfg.settings import get_settings from repoze.bfg.path import caller_package +from repoze.bfg.threadlocal import get_current_registry # concrete renderer factory implementations @@ -27,22 +25,22 @@ def string_renderer_factory(name): # utility functions def template_renderer_factory(spec, impl): + reg = get_current_registry() if os.path.isabs(spec): # 'spec' is an absolute filename if not os.path.exists(spec): raise ValueError('Missing template file: %s' % spec) - renderer = queryUtility(ITemplateRenderer, name=spec) + renderer = reg.queryUtility(ITemplateRenderer, name=spec) if renderer is None: renderer = impl(spec) - sm = getSiteManager() - sm.registerUtility(renderer, ITemplateRenderer, name=spec) + reg.registerUtility(renderer, ITemplateRenderer, name=spec) else: # spec is a package:relpath resource spec - renderer = queryUtility(ITemplateRenderer, name=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 = queryUtility(ITemplateRenderer, name=spec) + renderer = reg.queryUtility(ITemplateRenderer, name=spec) if renderer is None: try: package_name, filename = spec.split(':', 1) @@ -56,14 +54,13 @@ def template_renderer_factory(spec, impl): renderer = impl(abspath) if not _reload_resources(): # cache the template - sm = getSiteManager() - sm.registerUtility(renderer, ITemplateRenderer, name=spec) + reg.registerUtility(renderer, ITemplateRenderer, name=spec) return renderer def renderer_from_name(path): from repoze.bfg.configuration import Configurator - reg = getSiteManager() + reg = get_current_registry() config = Configurator(reg) return config.renderer_from_name(path) |
