Bugfixes for EC serialization and plotting
[nepi.git] / src / nepi / execution / ec.py
index cf41983..2c6557f 100644 (file)
@@ -25,6 +25,7 @@ from nepi.execution.resource import ResourceFactory, ResourceAction, \
 from nepi.execution.scheduler import HeapScheduler, Task, TaskStatus
 from nepi.execution.trace import TraceAttr
 from nepi.util.serializer import ECSerializer, SFormats
+from nepi.util.plotter import ECPlotter, PFormats
 
 # TODO: use multiprocessing instead of threading
 # TODO: Allow to reconnect to a running experiment instance! (reconnect mode vs deploy mode)
@@ -153,9 +154,9 @@ class ExperimentController(object):
     """
 
     @classmethod
-    def load(cls, path, format = SFormats.XML):
+    def load(cls, filepath, format = SFormats.XML):
         serializer = ECSerializer()
-        ec = serializer.load(path)
+        ec = serializer.load(filepath)
         return ec
 
     def __init__(self, exp_id = None): 
@@ -381,14 +382,20 @@ class ExperimentController(object):
 
                 time.sleep(0.5)
 
+    def plot(self, dirpath = None, format= PFormats.FIGURE, show = False):
+        plotter = ECPlotter()
+        fpath = plotter.plot(self, dirpath = dirpath, format= format, 
+                show = show)
+        return fpath
+
     def serialize(self, format = SFormats.XML):
         serializer = ECSerializer()
         sec = serializer.load(self, format = format)
         return sec
 
-    def save(self, path, format = SFormats.XML):
+    def save(self, dirpath = None, format = SFormats.XML):
         serializer = ECSerializer()
-        path = serializer.save(self, path, format = format)
+        path = serializer.save(self, dirpath  = None, format = format)
         return path
 
     def get_task(self, tid):