def parse_prepare_node()

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