Making runId as sub folder optional for the Collector RM
authorAlina Quereilhac <alina.quereilhac@inria.fr>
Wed, 4 Jun 2014 17:16:55 +0000 (19:16 +0200)
committerAlina Quereilhac <alina.quereilhac@inria.fr>
Wed, 4 Jun 2014 17:16:55 +0000 (19:16 +0200)
src/nepi/resources/all/collector.py

index 04fe63c..504a63f 100644 (file)
@@ -47,20 +47,35 @@ class Collector(ResourceManager):
 
     @classmethod
     def _register_attributes(cls):
-        trace_name = Attribute("traceName", "Name of the trace to be collected", 
+        trace_name = Attribute("traceName", 
+                "Name of the trace to be collected", 
                 flags = Flags.Design)
-        store_dir = Attribute("storeDir", "Path to local directory to store trace results", 
+
+        store_dir = Attribute("storeDir", 
+                "Path to local directory to store trace results", 
                 default = tempfile.gettempdir(),
                 flags = Flags.Design)
-        sub_dir = Attribute("subDir", "Sub directory to collect traces into", 
+
+        user_run_id = Attribute("useRunId", 
+                "If set to True stores traces into a sub directory named after "
+                "the RUN ID assigned by the EC", 
+                type = types.Bool,
+                default = False,
+                flags = Flags.Design)
+
+        sub_dir = Attribute("subDir", 
+                "Sub directory to collect traces into", 
                 flags = Flags.Design)
-        rename = Attribute("rename", "Name to give to the collected trace file", 
+
+        rename = Attribute("rename", 
+                "Name to give to the collected trace file", 
                 flags = Flags.Design)
 
         cls._register_attribute(trace_name)
         cls._register_attribute(store_dir)
         cls._register_attribute(sub_dir)
         cls._register_attribute(rename)
+        cls._register_attribute(useRunId)
 
     def __init__(self, ec, guid):
         super(Collector, self).__init__(ec, guid)
@@ -79,8 +94,10 @@ class Collector(ResourceManager):
             self.error(msg)
             raise RuntimeError, msg
 
-        store_dir = self.get("storeDir")
-        self._store_path = os.path.join(store_dir, self.ec.run_id)
+        self._store_path = self.get("storeDir")
+
+        if self.get("useRunId"):
+            self._store_path = os.path.join(self._store_path, self.ec.run_id)
 
         subdir = self.get("subDir")
         if subdir: