diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-13 10:21:59 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-13 10:21:59 +0000 |
| commit | 3fd91222c6fb46bc2d5838229d7c54130619d73a (patch) | |
| tree | 0de22c7b5f576e72c7feff4ce7248b9a5e382ef5 /repoze/bfg/router.py | |
| parent | 04376ed2f05ecac4a4d20c2780a42764c76fa4ac (diff) | |
| download | pyramid-3fd91222c6fb46bc2d5838229d7c54130619d73a.tar.gz pyramid-3fd91222c6fb46bc2d5838229d7c54130619d73a.tar.bz2 pyramid-3fd91222c6fb46bc2d5838229d7c54130619d73a.zip | |
Use an application-local component registry.
Diffstat (limited to 'repoze/bfg/router.py')
| -rw-r--r-- | repoze/bfg/router.py | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index 599007833..ff5c878a2 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -10,19 +10,24 @@ from repoze.bfg.interfaces import IViewFactory from repoze.bfg.interfaces import IWSGIApplicationFactory from repoze.bfg.interfaces import IRequest +from repoze.bfg.registry import registry_manager + _marker = () class Router: - def __init__(self, root_policy, app_context): + def __init__(self, root_policy, app_context, app_registry): self.root_policy = root_policy self.app_context = app_context + self.app_registry = app_registry def __call__(self, environ, start_response): + registry_manager.set(self.app_registry) request = Request(environ) directlyProvides(request, IRequest) root = self.root_policy(environ) path = environ.get('PATH_INFO', '/') - traverser = getMultiAdapter((root, request), IPublishTraverserFactory) + traverser = getMultiAdapter((root, request), + IPublishTraverserFactory) context, name, subpath = traverser(path) request.subpath = subpath request.view_name = name @@ -35,18 +40,9 @@ class Router: IWSGIApplicationFactory) return app(environ, start_response) -# enable the below when we figure out app-local registries - -## def app_component_registry(app_context): -## registry = getattr(app_context, 'registry', None) -## if registry is None: -## from zope.component.registry import Components -## app_context.registry = Components() -## return app_context.registry - def make_app(root_policy, package=None, filename='configure.zcml'): - import zope.configuration.xmlconfig - context = zope.configuration.xmlconfig.file(filename, package=package) - return Router(root_policy, context) + from repoze.bfg.registry import makeRegistry + context, registry = makeRegistry(filename, package) + return Router(root_policy, context, registry) |
