import numpy
from .command_stack import CommandStack
+from . import experiment
class NotRecognized (ValueError):
dc = state['command_stack']
if hasattr(dc, '__getstate__'):
state['command_stack'] = dc.__getstate__()
+ if self.info.get('experiment', None) != None:
+ e = self.info['experiment']
+ assert isinstance(e, experiment.Experiment)
+ # HACK? require Experiment classes to be defined in the
+ # experiment module.
+ self.info['experiment'] = e.__class__.__name__
return state
def __setstate__(self, state):
if key == 'path':
self.set_path(value)
continue
+ elif key == 'info':
+ if 'experiment' not in value:
+ value['experiment'] = None
+ else:
+ # 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)