diff options
Diffstat (limited to 'repoze/bfg/configuration.py')
| -rw-r--r-- | repoze/bfg/configuration.py | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/repoze/bfg/configuration.py b/repoze/bfg/configuration.py index 8a6521777..4b235e864 100644 --- a/repoze/bfg/configuration.py +++ b/repoze/bfg/configuration.py @@ -131,19 +131,31 @@ class Configurator(object): if registry is None: registry = Registry(self.package.__name__) self.registry = registry - self._set_settings(settings) - self._set_root_factory(root_factory) - if debug_logger is None: - debug_logger = make_stream_logger('repoze.bfg.debug', - sys.stderr) - registry.registerUtility(debug_logger, IDebugLogger) - registry.registerUtility(debug_logger, IDebugLogger, - 'repoze.bfg.debug') # b /c - if authentication_policy or authorization_policy: - self._set_security_policies(authentication_policy, - authorization_policy) - for name, renderer in renderers: - self.add_renderer(name, renderer) + self.setup_registry( + settings=settings, + root_factory=root_factory, + authentication_policy=authentication_policy, + authorization_policy=authorization_policy, + renderers=renderers, + debug_logger=debug_logger) + + def setup_registry(self, settings=None, root_factory=None, + authentication_policy=None, authorization_policy=None, + renderers=DEFAULT_RENDERERS, debug_logger=None): + self._set_settings(settings) + self._set_root_factory(root_factory) + if debug_logger is None: + debug_logger = make_stream_logger('repoze.bfg.debug', sys.stderr) + registry = self.registry + registry.registerUtility(debug_logger, IDebugLogger) + registry.registerUtility(debug_logger, IDebugLogger, + 'repoze.bfg.debug') # b /c + if authentication_policy or authorization_policy: + self._set_security_policies(authentication_policy, + authorization_policy) + for name, renderer in renderers: + self.add_renderer(name, renderer) + def _set_settings(self, mapping): settings = Settings(mapping or {}) |
