Keep params of algorithms in separate xml elements
This commit is contained in:
parent
e98da2e40c
commit
679f70505b
@ -28,10 +28,16 @@ class AnatricConfig:
|
|||||||
self.load_from_file(filename)
|
self.load_from_file(filename)
|
||||||
|
|
||||||
def load_from_file(self, filename):
|
def load_from_file(self, filename):
|
||||||
tree = ET.parse(filename)
|
self._tree = ET.parse(filename)
|
||||||
self._tree = tree
|
self._root = self._tree.getroot()
|
||||||
|
|
||||||
alg_elem = tree.find("Algorithm")
|
self._alg_elems = dict()
|
||||||
|
for alg in ALGORITHMS:
|
||||||
|
self._alg_elems[alg] = ET.Element("Algorithm", attrib={"implementation": alg})
|
||||||
|
|
||||||
|
self._alg_elems[self.algorithm] = self._tree.find("Algorithm")
|
||||||
|
|
||||||
|
alg_elem = self._tree.find("Algorithm")
|
||||||
if self.algorithm == "adaptivemaxcog":
|
if self.algorithm == "adaptivemaxcog":
|
||||||
self.threshold = float(alg_elem.find("threshold").attrib["value"])
|
self.threshold = float(alg_elem.find("threshold").attrib["value"])
|
||||||
self.shell = float(alg_elem.find("shell").attrib["value"])
|
self.shell = float(alg_elem.find("shell").attrib["value"])
|
||||||
@ -213,7 +219,8 @@ class AnatricConfig:
|
|||||||
if value not in ALGORITHMS:
|
if value not in ALGORITHMS:
|
||||||
raise ValueError("Unknown algorithm.")
|
raise ValueError("Unknown algorithm.")
|
||||||
|
|
||||||
self._tree.find("Algorithm").attrib["implementation"] = value
|
self._root.remove(self._tree.find("Algorithm"))
|
||||||
|
self._root.append(self._alg_elems[value])
|
||||||
|
|
||||||
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