Convert FileList attrs into properties
This commit is contained in:
parent
2154bffb7d
commit
fc41daa1e6
@ -15,18 +15,6 @@ class AnatricConfig:
|
|||||||
tree = ET.parse(filename)
|
tree = ET.parse(filename)
|
||||||
self._tree = tree
|
self._tree = tree
|
||||||
|
|
||||||
filelist_elem = tree.find("FileList")
|
|
||||||
if filelist_elem is None:
|
|
||||||
filelist_elem = tree.find("SinqFileList")
|
|
||||||
self.filelist_type = "SINQ"
|
|
||||||
else:
|
|
||||||
self.filelist_type = "TRICS"
|
|
||||||
|
|
||||||
self.filelist_format = filelist_elem.attrib["format"]
|
|
||||||
self.filelist_datapath = filelist_elem.find("datapath").attrib["value"]
|
|
||||||
range_vals = filelist_elem.find("range").attrib
|
|
||||||
self.filelist_ranges = (int(range_vals["start"]), int(range_vals["end"]))
|
|
||||||
|
|
||||||
crystal_elem = tree.find("crystal")
|
crystal_elem = tree.find("crystal")
|
||||||
self.crystal_sample = crystal_elem.find("Sample").attrib["name"]
|
self.crystal_sample = crystal_elem.find("Sample").attrib["name"]
|
||||||
|
|
||||||
@ -101,5 +89,67 @@ class AnatricConfig:
|
|||||||
def logfile_verbosity(self, value):
|
def logfile_verbosity(self, value):
|
||||||
self._tree.find("logfile").attrib["verbosity"] = value
|
self._tree.find("logfile").attrib["verbosity"] = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def filelist_type(self):
|
||||||
|
if self._tree.find("FileList") is not None:
|
||||||
|
return "TRICS"
|
||||||
|
return "SINQ"
|
||||||
|
|
||||||
|
@filelist_type.setter
|
||||||
|
def filelist_type(self, value):
|
||||||
|
if value == "TRICS":
|
||||||
|
tag = "FileList"
|
||||||
|
elif value == "SINQ":
|
||||||
|
tag = "SinqFileList"
|
||||||
|
else:
|
||||||
|
raise ValueError("FileList value can only by 'TRICS' or 'SINQ'")
|
||||||
|
|
||||||
|
self._tree.find("FileList").tag = tag
|
||||||
|
|
||||||
|
@property
|
||||||
|
def filelist_format(self):
|
||||||
|
if self.filelist_type == "TRICS":
|
||||||
|
return self._tree.find("FileList").attrib["format"]
|
||||||
|
return self._tree.find("SinqFileList").attrib["format"]
|
||||||
|
|
||||||
|
@filelist_format.setter
|
||||||
|
def filelist_format(self, value):
|
||||||
|
if self.filelist_type == "TRICS":
|
||||||
|
self._tree.find("FileList").attrib["format"] = value
|
||||||
|
else: # SINQ
|
||||||
|
self._tree.find("SinqFileList").attrib["format"] = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def filelist_datapath(self):
|
||||||
|
if self.filelist_type == "TRICS":
|
||||||
|
return self._tree.find("FileList").find("datapath").attrib["value"]
|
||||||
|
return self._tree.find("SinqFileList").find("datapath").attrib["value"]
|
||||||
|
|
||||||
|
@filelist_datapath.setter
|
||||||
|
def filelist_datapath(self, value):
|
||||||
|
if self.filelist_type == "TRICS":
|
||||||
|
self._tree.find("FileList").find("datapath").attrib["value"] = value
|
||||||
|
else: # SINQ
|
||||||
|
self._tree.find("SinqFileList").find("datapath").attrib["value"] = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def filelist_ranges(self):
|
||||||
|
if self.filelist_type == "TRICS":
|
||||||
|
range_vals = self._tree.find("FileList").find("range").attrib
|
||||||
|
else: # SINQ
|
||||||
|
range_vals = self._tree.find("SinqFileList").find("range").attrib
|
||||||
|
|
||||||
|
return (int(range_vals["start"]), int(range_vals["end"]))
|
||||||
|
|
||||||
|
@filelist_ranges.setter
|
||||||
|
def filelist_ranges(self, value):
|
||||||
|
if self.filelist_type == "TRICS":
|
||||||
|
range_vals = self._tree.find("FileList").find("range").attrib
|
||||||
|
else: # SINQ
|
||||||
|
range_vals = self._tree.find("SinqFileList").find("range").attrib
|
||||||
|
|
||||||
|
range_vals["start"] = str(value[0])
|
||||||
|
range_vals["end"] = str(value[1])
|
||||||
|
|
||||||
def save_as(self, filename):
|
def save_as(self, filename):
|
||||||
self._tree.write(filename)
|
self._tree.write(filename)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user