MCPcopy Index your code
hub / github.com/tortoise/tortoise-orm / _iterative_dfs

Method _iterative_dfs

tortoise/migrations/graph.py:139–154  ·  view source on GitHub ↗
(self, start: Node, *, forwards: bool)

Source from the content-addressed store, hash-verified

137 return self._iterative_dfs(self.node_map[target], forwards=False)
138
139 def _iterative_dfs(self, start: Node, *, forwards: bool) -> list[MigrationKey]:
140 visited: list[MigrationKey] = []
141 visited_set: set[Node] = set()
142 stack: list[tuple[Node, bool]] = [(start, False)]
143 while stack:
144 node, processed = stack.pop()
145 if node in visited_set:
146 continue
147 if processed:
148 visited_set.add(node)
149 visited.append(node.key)
150 continue
151 stack.append((node, True))
152 neighbors = node.parents if forwards else node.children
153 stack.extend((n, False) for n in sorted(neighbors))
154 return visited

Callers 2

forwards_planMethod · 0.95
backwards_planMethod · 0.95

Calls 1

addMethod · 0.80

Tested by

no test coverage detected