(self, graph=None)
| 42 | """Provides functionality to topologically sort a graph of hashable nodes""" |
| 43 | |
| 44 | def __init__(self, graph=None): |
| 45 | self._node2info = {} |
| 46 | self._ready_nodes = None |
| 47 | self._npassedout = 0 |
| 48 | self._nfinished = 0 |
| 49 | |
| 50 | if graph is not None: |
| 51 | for node, predecessors in graph.items(): |
| 52 | self.add(node, *predecessors) |
| 53 | |
| 54 | def _get_nodeinfo(self, node): |
| 55 | if (result := self._node2info.get(node)) is None: |