Changeset View
Changeset View
Standalone View
Standalone View
swh/graph/graph.py
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | class GraphNode: | ||||
def parents(self): | def parents(self): | ||||
return Neighbors( | return Neighbors( | ||||
self.graph, | self.graph, | ||||
self.graph.java_graph.predecessors(self.id), | self.graph.java_graph.predecessors(self.id), | ||||
lambda: self.graph.java_graph.indegree(self.id), | lambda: self.graph.java_graph.indegree(self.id), | ||||
) | ) | ||||
def simple_traversal(self, ttype, direction="forward", edges="*"): | def simple_traversal(self, ttype, direction="forward", edges="*", return_types="*"): | ||||
for node in call_async_gen( | for node in call_async_gen( | ||||
self.graph.backend.simple_traversal, ttype, direction, edges, self.id | self.graph.backend.simple_traversal, | ||||
ttype, | |||||
direction, | |||||
edges, | |||||
self.id, | |||||
return_types, | |||||
): | ): | ||||
yield self.graph[node] | yield self.graph[node] | ||||
def leaves(self, *args, **kwargs): | def leaves(self, *args, **kwargs): | ||||
yield from self.simple_traversal("leaves", *args, **kwargs) | yield from self.simple_traversal("leaves", *args, **kwargs) | ||||
def visit_nodes(self, *args, **kwargs): | def visit_nodes(self, *args, **kwargs): | ||||
yield from self.simple_traversal("visit_nodes", *args, **kwargs) | yield from self.simple_traversal("visit_nodes", *args, **kwargs) | ||||
▲ Show 20 Lines • Show All 98 Lines • Show Last 20 Lines |