+ 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:
+ raise ValueError("Can't determine software name, please load a run")
+ software = self.tree.xpath('Software')
+ if len(software) == 0:
+ return None
+ elif len(software) > 1:
+ raise RuntimeError("Too many software tags, please update ipar.py")
+ else:
+ return software[0].attrib['Name']
+ software = property(_get_software)
+