From: Thomas Fillon Date: Tue, 27 May 2014 10:38:11 +0000 (+0200) Subject: Fix bug in parameter setting (was not using __setattr__) X-Git-Tag: 0.6~4^2~51^2~8 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=a3e5b70d0bb4a78af2a1d5b09476d69ad3d620fc;p=timeside.git Fix bug in parameter setting (was not using __setattr__) --- diff --git a/tests/test_tools_parameters.py b/tests/test_tools_parameters.py index 145de7b..539d4a8 100644 --- a/tests/test_tools_parameters.py +++ b/tests/test_tools_parameters.py @@ -39,11 +39,15 @@ class TestHasParam(unittest.TestCase): param_json = self.has_param_cls.get_parameters() param_dict = json.loads(param_json) self.assertEqual(param_dict, new_param_dict) + for name, value in new_param_dict.items(): + self.assertEqual(self.has_param_cls.__getattribute__(name), value) # set from JSON self.has_param_cls.set_parameters(new_param_json) param_json = self.has_param_cls.get_parameters() param_dict = json.loads(param_json) self.assertEqual(param_dict, new_param_dict) + for name, value in new_param_dict.items(): + self.assertEqual(self.has_param_cls.__getattribute__(name), value) def test_param_view(self): "param_view method" diff --git a/timeside/tools/parameters.py b/timeside/tools/parameters.py index 75f43ae..871ab7b 100644 --- a/timeside/tools/parameters.py +++ b/timeside/tools/parameters.py @@ -87,7 +87,8 @@ class HasParam(object): if isinstance(parameters, basestring): self.set_parameters(json.loads(parameters)) else: - self._parameters.set(**parameters) + for name, value in parameters.items(): + self.__setattr__(name, value) def validate_parameters(self, parameters): """Validate parameters format against Traits specification