in dagify/converter/utils.py [0:0]
def parse_controlm_tree(root_node, parent):
"""Function to parse control m"""
for node in root_node:
match node.tag:
case "FOLDER" | "SMART_FOLDER":
# ufFolder = UFFolder()
# ufFolder.from_xml(node)
# parent.add_folder(ufFolder)
parse_controlm_tree(node, parent)
case "JOB":
ufTask = UFTask()
ufTask.from_xml(node)
parent.add_task(ufTask)
parse_controlm_tree(node, ufTask)
case "VARIABLE":
ufTaskVariable = UFTaskVariable()
ufTaskVariable.from_xml(node)
parent.add_variable(ufTaskVariable)
parse_controlm_tree(node, ufTaskVariable)
case "INCOND":
ufTaskInCondition = UFTaskInCondition()
ufTaskInCondition.from_xml(node)
parent.add_in_condition(ufTaskInCondition)
parse_controlm_tree(node, ufTaskInCondition)
case "OUTCOND":
ufTaskOutCondition = UFTaskOutCondition()
ufTaskOutCondition.from_xml(node)
parent.add_out_condition(ufTaskOutCondition)
parse_controlm_tree(node, ufTaskOutCondition)
case "SHOUT":
ufTaskShout = UFTaskShout()
ufTaskShout.from_xml(node)
parent.add_shout(ufTaskShout)
parse_controlm_tree(node, ufTaskShout)
case _:
print("Node: " + node.tag + " is not currently supported.")
return parent