From a3e5b70d0bb4a78af2a1d5b09476d69ad3d620fc Mon Sep 17 00:00:00 2001 From: Thomas Fillon Date: Tue, 27 May 2014 12:38:11 +0200 Subject: [PATCH] Fix bug in parameter setting (was not using __setattr__) --- tests/test_tools_parameters.py | 4 ++++ timeside/tools/parameters.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) 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 -- 2.39.5