summaryrefslogtreecommitdiff
path: root/repoze/bfg/router.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-13 10:21:59 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-13 10:21:59 +0000
commit3fd91222c6fb46bc2d5838229d7c54130619d73a (patch)
tree0de22c7b5f576e72c7feff4ce7248b9a5e382ef5 /repoze/bfg/router.py
parent04376ed2f05ecac4a4d20c2780a42764c76fa4ac (diff)
downloadpyramid-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.py24
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)