After implementing proper tests get a working implementation of runfolder name from...
[htsworkflow.git] / htsworkflow / pipelines / ipar.py
index 376c5bd98ecbfe082329c4d3d75f238be47de182..c2cc6a3ffee289ccbdda93160c0d9fac5bf8afa7 100644 (file)
@@ -75,6 +75,19 @@ class IPAR(object):
         if xml is not None:
             self.set_elements(xml)
 
+    def _get_runfolder_name(self):
+        """Return runfolder name"""
+        if self.tree is None:
+            raise ValueError("Can't query an empty run")
+        runfolder = self.tree.xpath('RunParameters/RunFolder')
+        if len(runfolder) == 0:
+            return None
+        elif len(runfolder) > 1:
+            raise RuntimeError("RunXml parse error looking for RunFolder")
+        else:
+            return runfolder[0].text
+    runfolder_name = property(_get_runfolder_name)
+    
     def _get_software(self):
         """Return software name"""
         if self.tree is None:
@@ -226,7 +239,8 @@ def ipar(pathname):
         # its still live.
 
     # look for parameter xml file
-    paramfiles = [os.path.join(pathname, 'config.xml'),
+    paramfiles = [os.path.join(pathname, 'RTAConfig.xml'),
+                  os.path.join(pathname, 'config.xml'),
                   os.path.join(path, '.params')]
     for paramfile in paramfiles:
         if os.path.exists(paramfile):