From b2c500ac5343ea0656ba3d58176f4528b08aeaae Mon Sep 17 00:00:00 2001 From: Mansard <nmansard@laas.fr> Date: Wed, 16 Feb 2011 12:20:14 +0100 Subject: [PATCH] Added a protection to avoid erasing signal name when setting a new value to the signal. --- src/dynamic_graph/entity.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/dynamic_graph/entity.py b/src/dynamic_graph/entity.py index 6830bea..6c8e828 100644 --- a/src/dynamic_graph/entity.py +++ b/src/dynamic_graph/entity.py @@ -145,6 +145,12 @@ class Entity (object) : except: object.__getattr__(self, name) + def __setattr__(self, name, value): + if name in map(lambda s: s.getName().split(':')[-1],self.signals()): + raise NameError(name+" already designates a signal. " + "It is not advised to set a new attribute of the same name.") + object.__setattr__(self, name, value) + # --- COMMANDS BINDER ----------------------------------------------------- # List of all the entity classes from the c++ factory, that have been bound # bind the py factory. -- GitLab