예제 #1
0
    def _import_graph(self, graph_data, parent=None):
        """
        """
        if parent:
            graph = parent
        else:
            graph = NodeGraph()

        nodes = graph_data["nodes"]

        imported_nodes = []

        for node_data in nodes:
            import_params = node_data["input_params"]
            output_params = node_data["output_params"]            
        
            node = self._import_node(node_data, graph, import_params=False)

            imported_nodes.append((node, import_params, output_params))

            

        for node, input_params, output_params in imported_nodes:
            for input_param_data in input_params:
                self._import_param(node, input_param_data, NodeParam.INPUT)
            for output_param_data in output_params:
                self._import_param(node, output_param_data, NodeParam.OUTPUT)

        output_node = graph_data["output_node"]

        if output_node:
            output_node = graph.node(output_node)
        graph.output_node = output_node
        
        return graph
예제 #2
0
    def _read_graph(self, data, parent=None):
        """
        """   
        if parent:     
            graph = parent
        else:
            graph = NodeGraph()
        
        nodes = data["nodes"]
        for node in nodes:
            self._read_node(node, graph)
        
        output_node = data["output_node"]
        if output_node:
            output_node = graph.node(output_node)        
        graph.output_node = output_node
        return graph