OMF examples
[nepi.git] / src / nepi / resources / omf / omf6_parser.py
index c3b37a8..6e72077 100644 (file)
@@ -20,6 +20,7 @@
 
 from nepi.util.logger import Logger
 
+import os
 import traceback
 import xml.etree.ElementTree as ET
 
@@ -174,22 +175,6 @@ class OMF6Parser(Logger):
         uid = self._check_for_tag(root, namespaces, "uid")
         event = self._check_for_tag(root, namespaces, "event")
 
-        if event == "STDOUT":
-            if not uid+'out' in self.traces:
-                f = open('/tmp/'+ uid + '.out','w')
-                self.traces[uid+'out'] = f
-            self.trace = self.traces[uid+'out']
-        elif event == "STDERR" :
-            if not uid+'err' in self.traces:
-                g = open('/tmp/'+ uid + '.err','w')
-                self.traces[uid+'err'] = g
-            self.trace = self.traces[uid+'err']
-        elif event == "EXIT" :
-            if uid+'out' in self.traces:
-                self.traces[uid+'out'].close()
-            if uid+'err' in self.traces:
-                self.traces[uid+'err'].close()
-            
         log = "STATUS -- "
         for elt in props.keys():
             ns, tag = elt.split('}')
@@ -199,8 +184,20 @@ class OMF6Parser(Logger):
                 self.mailbox['started'].append(uid)
                 log = log + "event : " + props[elt]+" -- "
             elif tag == "msg":
-                if event == "STDOUT" or event == "STDERR" :
-                    self.trace.write(props[elt]+'\n')
+                if event == "STDOUT" : 
+                    filename = os.path.join("/tmp", "%s.out" % uid)
+                    f = open(filename,'a+')
+                    # XXX: Adding fake \n for visual formatting 
+                    msg = props[elt] + "\n"
+                    f.write(msg)
+                    f.close()
+                elif event == "STDERR" :
+                    filename = os.path.join("/tmp", "%s.err" % uid)
+                    f = open(filename,'a+')
+                    # XXX: Adding fake \n for visual formatting 
+                    msg = props[elt] + "\n"
+                    f.write(msg)
+                    f.close()
                 log = log + tag +" : " + props[elt]+" -- "
             else:
                 log = log + tag +" : " + props[elt]+" -- "