summaryrefslogtreecommitdiff
path: root/configuration.py
diff options
context:
space:
mode:
authorsyt <syt@localhost.localdomain>2006-09-05 14:22:24 +0200
committersyt <syt@localhost.localdomain>2006-09-05 14:22:24 +0200
commit057c6536424a86e8a7615ea8b6a2c2d6b2ac6e78 (patch)
tree64718cd630c831f452dbb4d2e2876517e455f60d /configuration.py
parent59061b4d3bcab97ecce52bbb1688264ce8b83926 (diff)
downloadlogilab-common-057c6536424a86e8a7615ea8b6a2c2d6b2ac6e78.tar.gz
new register_options method on ConfigurationMixin
Diffstat (limited to 'configuration.py')
-rw-r--r--configuration.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/configuration.py b/configuration.py
index f513a94..dd149d5 100644
--- a/configuration.py
+++ b/configuration.py
@@ -352,7 +352,7 @@ class OptionsManagerMixIn(object):
goptions = [option for option in provider.options
if option[1].get('group') == gname]
self.add_option_group(gname, gdoc, goptions, provider)
-
+
def add_option_group(self, group_name, doc, options, provider):
"""add an option group including the listed options
"""
@@ -716,6 +716,15 @@ class ConfigurationMixIn(OptionsManagerMixIn, OptionsProviderMixIn):
self.option_groups.append(gdef)
self.register_options_provider(self, own_group=0)
+ def register_options(self, options):
+ """add some options to the configuration"""
+ options_by_group = {}
+ for optname, optdict in options:
+ options_by_group.setdefault(optdict['group'], []).append((optname, optdict))
+ for group, options in options_by_group.items():
+ self.add_option_group(group, None, options, self)
+ self.options += tuple(options)
+
def load_defaults(self):
OptionsProviderMixIn.load_defaults(self)