Remove CommandStack.__getstate__ to avoid type ambiguity for command arguments.
[hooke.git] / hooke / curve.py
index 75fbf75ce2f394bb9d03dcf39e29ca69bf0419ef..64b4c61db56c13d5fd56b73b32a9fe6416db6267 100644 (file)
@@ -194,36 +194,13 @@ class Curve (object):
         state = dict(self.__dict__)      # make a copy of the attribute dict.
         state['info'] = dict(self.info)  # make a copy of the info dict too.
         del(state['_hooke'])
-        dc = state['command_stack']
-        if hasattr(dc, '__getstate__'):
-            state['command_stack'] = dc.__getstate__()
-        if state['info'].get('experiment', None) != None:
-            e = state['info']['experiment']
-            assert isinstance(e, experiment.Experiment), type(e)
-            # HACK? require Experiment classes to be defined in the
-            # experiment module.
-            state['info']['experiment'] = e.__class__.__name__
         return state
 
     def __setstate__(self, state):
         self.name = self._hooke = None
         for key,value in state.items():
-            if key == 'path':
-                self.set_path(value)
-                continue
-            elif key == 'info':
-                if 'experiment' not in value:
-                    value['experiment'] = None
-                elif value['experiment'] != None:
-                    # HACK? require Experiment classes to be defined in the
-                    # experiment module.
-                    cls = getattr(experiment, value['experiment'])
-                    value['experiment'] = cls()
-            elif key == 'command_stack':
-                v = CommandStack()
-                v.__setstate__(value)
-                value = v
             setattr(self, key, value)
+        self.set_path(state.get('path', None))
 
     def set_hooke(self, hooke=None):
         if hooke != None: