diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-12-19 21:48:36 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-12-19 21:48:36 +0000 |
| commit | 0adc2fe61c2e225dfa1bcf9a3d814ba394e95ce7 (patch) | |
| tree | 1d9b9e98d16c9c0079d41f95d6499bedeee9a4ab /repoze/bfg/configuration.py | |
| parent | 4ffea305a052d4e3acf023c33a8dd471045f2c97 (diff) | |
| download | pyramid-0adc2fe61c2e225dfa1bcf9a3d814ba394e95ce7.tar.gz pyramid-0adc2fe61c2e225dfa1bcf9a3d814ba394e95ce7.tar.bz2 pyramid-0adc2fe61c2e225dfa1bcf9a3d814ba394e95ce7.zip | |
- Add a new API to the ``repoze.bfg.configuration.Configurator``
class: ``add_settings``. This API can be used to add "settings"
(information returned within via the
``repoze.bfg.settings.get_settings`` API) after the configurator has
been initially set up. This is most useful for testing purposes.
Diffstat (limited to 'repoze/bfg/configuration.py')
| -rw-r--r-- | repoze/bfg/configuration.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/repoze/bfg/configuration.py b/repoze/bfg/configuration.py index 44b77e138..8d88c5384 100644 --- a/repoze/bfg/configuration.py +++ b/repoze/bfg/configuration.py @@ -164,6 +164,7 @@ class Configurator(object): def _set_settings(self, mapping): settings = Settings(mapping or {}) self.registry.registerUtility(settings, ISettings) + return settings def _set_root_factory(self, factory): """ Add a :term:`root factory` to the current configuration @@ -308,6 +309,17 @@ class Configurator(object): self.registry.registerHandler(subscriber, iface, info=info) return subscriber + def add_settings(self, settings): + """ Add additional settings (beyond the ones passed in as + ``settings`` to the constructor of this object) to the + dictionarylike object returned from + ``repoze.bfg.settings.get_settings()``. The ``settings`` + argument should be a dictionarylike object.""" + utility = self.registry.queryUtility(ISettings) + if utility is None: + utility = self._set_settings(settings) + utility.update(settings) + def add_subscription_adapter(self, factory, required=None, provided=None, info=u''): """Add a Zope Component Architecture subscription adapter. |
