diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-06-01 07:20:48 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-06-01 07:20:48 +0000 |
| commit | a7f13ff10e0eae01b958738e41d9d172af2916dd (patch) | |
| tree | 4ecb45f92d4cbca39ca8ed70b6e7d7a657efcb33 /repoze/bfg/router.py | |
| parent | c1278c88b6cd19ad81c96f8b8a66a01df23a6200 (diff) | |
| download | pyramid-a7f13ff10e0eae01b958738e41d9d172af2916dd.tar.gz pyramid-a7f13ff10e0eae01b958738e41d9d172af2916dd.tar.bz2 pyramid-a7f13ff10e0eae01b958738e41d9d172af2916dd.zip | |
- It was not possible to register a custom ``IRoutesContextFactory``
for use as a default context factory as documented in the "Hooks"
chapter.
Diffstat (limited to 'repoze/bfg/router.py')
| -rw-r--r-- | repoze/bfg/router.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index b243ec5b0..51094229a 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -30,6 +30,8 @@ from repoze.bfg.interfaces import IView from repoze.bfg.interfaces import IViewPermission from repoze.bfg.interfaces import IAuthorizationPolicy from repoze.bfg.interfaces import IAuthenticationPolicy +from repoze.bfg.interfaces import IRoutesContext +from repoze.bfg.interfaces import IRoutesContextFactory from repoze.bfg.log import make_stream_logger @@ -350,8 +352,6 @@ def make_app(root_factory, package=None, filename='configure.zcml', registry.registerUtility(debug_logger, ILogger, 'repoze.bfg.debug') settings = Settings(options) registry.registerUtility(settings, ISettings) - mapper = RoutesRootFactory(root_factory) - registry.registerUtility(mapper, IRoutesMapper) if authentication_policy: registry.registerUtility(authentication_policy, IAuthenticationPolicy) @@ -359,8 +359,19 @@ def make_app(root_factory, package=None, filename='configure.zcml', authorization_policy = ACLAuthorizationPolicy() registry.registerUtility(authorization_policy, IAuthorizationPolicy) + mapper = RoutesRootFactory(root_factory) + registry.registerUtility(mapper, IRoutesMapper) + populateRegistry(registry, filename, package) + context_factory = registry.queryUtility( + IRoutesContextFactory, + default=mapper.default_context_factory) + + if IRoutesContext.implementedBy(context_factory): + mapper.decorate_context = False + mapper.default_context_factory = context_factory + if not authentication_policy: # deal with bw compat of <= 0.8 security policies (deprecated) secpol = registry.queryUtility(ISecurityPolicy) |
