MCPcopy Create free account
hub / github.com/kkroening/ffmpeg-python / visit

Function visit

ffmpeg/dag.py:195–225  ·  view source on GitHub ↗
(
        upstream_node,
        upstream_label,
        downstream_node,
        downstream_label,
        downstream_selector=None,
    )

Source from the content-addressed store, hash-verified

193 outgoing_edge_maps = {}
194
195 def visit(
196 upstream_node,
197 upstream_label,
198 downstream_node,
199 downstream_label,
200 downstream_selector=None,
201 ):
202 if upstream_node in marked_nodes:
203 raise RuntimeError('Graph is not a DAG')
204
205 if downstream_node is not None:
206 outgoing_edge_map = outgoing_edge_maps.get(upstream_node, {})
207 outgoing_edge_infos = outgoing_edge_map.get(upstream_label, [])
208 outgoing_edge_infos += [
209 (downstream_node, downstream_label, downstream_selector)
210 ]
211 outgoing_edge_map[upstream_label] = outgoing_edge_infos
212 outgoing_edge_maps[upstream_node] = outgoing_edge_map
213
214 if upstream_node not in sorted_nodes:
215 marked_nodes.append(upstream_node)
216 for edge in upstream_node.incoming_edges:
217 visit(
218 edge.upstream_node,
219 edge.upstream_label,
220 edge.downstream_node,
221 edge.downstream_label,
222 edge.upstream_selector,
223 )
224 marked_nodes.remove(upstream_node)
225 sorted_nodes.append(upstream_node)
226
227 unmarked_nodes = [(node, None) for node in downstream_nodes]
228 while unmarked_nodes:

Callers 1

topo_sortFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…