def convert_nodes()

in o2a/converter/oozie_converter.py [0:0]


    def convert_nodes(self):
        """
        For each Oozie node, converts it into relations and internal relations.

        It uses the mapper, which is stored in ParsedActionNode. The result is saved in ParsedActionNode.tasks
        and ParsedActionNode.relations
        """
        logging.info("Converting nodes to tasks and inner relations")
        for name, oozie_node in self.workflow.nodes.copy().items():
            tasks, relations = oozie_node.mapper.to_tasks_and_relations()
            dependencies = oozie_node.mapper.required_imports()
            oozie_node.tasks = tasks
            oozie_node.relations = relations
            self.workflow.task_groups[name] = self._get_task_group_type(oozie_node)(
                name=name,
                tasks=tasks,
                relations=relations,
                dependencies=dependencies,
                downstream_names=oozie_node.downstream_names,
                error_downstream_name=oozie_node.error_downstream_name,
            )
            del self.workflow.nodes[name]