def __init__(self, ebunch=None):
if ebunch is not None:
self._check_node_string(set(itertools.chain(*ebunch)))// for edge in ebunch:// if not (isinstance(edge[0], str) and isinstance(edge[1], str)):// raise TypeError("Name of nodes must be strings")// if edge[0] == edge[1]:// raise Exceptions.SelfLoopError("Self Loops are"// " not allowed", edge)
nx.DiGraph.__init__(self, ebunch)if ebunch is not None:
new_nodes = set(itertools.chain(*ebunch))
self._check_graph(delete_graph=True)
self._update_node_parents(new_nodes)
self._update_node_rule_for_parents(new_nodes)
def add_node(self, node):