in o2a/mappers/extensions/prepare_mapper_extension.py [0:0]
def parse_prepare_node(self) -> Tuple[List[str], List[str]]:
"""
<prepare>
<delete path="[PATH]"/>
...
<mkdir path="[PATH]"/>
...
</prepare>
"""
delete_paths = []
mkdir_paths = []
prepare_node = xml_utils.find_node_by_tag(self.mapper.oozie_node, "prepare")
if prepare_node:
# If there exists a prepare node, there will only be one, according
# to oozie xml schema
for node in prepare_node:
node_path = normalize_path(node.attrib["path"], props=self.mapper.props)
if node.tag == "delete":
delete_paths.append(node_path)
elif node.tag == "mkdir":
mkdir_paths.append(node_path)
else:
raise Exception(f"Unknown XML node in prepare: {node.tag}")
return delete_paths, mkdir_paths