From d3f9d20ab5d33592304298194fe4199c98b13f9c Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Sat, 8 Mar 2014 18:53:22 +0100 Subject: [PATCH] add extend in config setting --- test/test_option_setting.py | 9 +++++++++ tiramisu/setting.py | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/test/test_option_setting.py b/test/test_option_setting.py index 94755e8..28327d5 100644 --- a/test/test_option_setting.py +++ b/test/test_option_setting.py @@ -310,6 +310,15 @@ def test_access_by_get_whith_hide(): raises(AttributeError, "c.find(byname='b1')") +def test_extend_config_properties(): + descr = make_description() + cfg = Config(descr) + setting = cfg.cfgimpl_get_settings() + assert str(setting) == str(['cache', 'expire', 'validator']) + setting.extend(['test', 'test2']) + assert str(setting) == str(['test', 'cache', 'test2', 'expire', 'validator']) + + def test_append_properties(): descr = make_description() cfg = Config(descr) diff --git a/tiramisu/setting.py b/tiramisu/setting.py index e2ddb7d..d3b0a3b 100644 --- a/tiramisu/setting.py +++ b/tiramisu/setting.py @@ -408,6 +408,10 @@ class Settings(object): props.remove(propname) self._setproperties(props, None, None) + def extend(self, propnames): + for propname in propnames: + self.append(propname) + def _setproperties(self, properties, opt, path): """save properties for specified opt (never save properties if same has option properties)