def build_graph(self):
        """
        Read lazy dependency list and build graph.
        """
        for child, parents in self.dependencies.items():
            if child not in self.nodes:
                raise NodeNotFoundError(
                    "App %s SQL item dependencies reference nonexistent child node %r" % (
                        child[0], child),
                    child
                )
            for parent in parents:
                if parent not in self.nodes:
                    raise NodeNotFoundError(
                        "App %s SQL item dependencies reference nonexistent parent node %r" % (
                            child[0], parent),
                        parent
                    )
                self.node_map[child].add_parent(self.node_map[parent])
                self.node_map[parent].add_child(self.node_map[child])

        for node in self.nodes:
            self.ensure_not_cyclic(node,
                                   lambda x: (parent.key for parent in self.node_map[x].parents))
def build_graph ( self ) : for child , parents in self . dependencies . items ( ) : if child not in self . nodes : raise NodeNotFoundError ( "App %s SQL item dependencies reference nonexistent child node %r" % ( child [ 0 ] , child ) , child ) for parent in parents : if parent not in self . nodes : raise NodeNotFoundError ( "App %s SQL item dependencies reference nonexistent parent node %r" % ( child [ 0 ] , parent ) , parent ) self . node_map [ child ] . add_parent ( self . node_map [ parent ] ) self . node_map [ parent ] . add_child ( self . node_map [ child ] ) for node in self . nodes : self . ensure_not_cyclic ( node , lambda x : ( parent . key for parent in self . node_map [ x ] . parents ) )
Read lazy dependency list and build graph.