(task: Task)
| 21 | visited = {} |
| 22 | |
| 23 | def visit(task: Task): |
| 24 | nonlocal visited, graph |
| 25 | if task.task_id in visited: |
| 26 | return visited[task.task_id] |
| 27 | |
| 28 | node = pydot.Node(task.label) |
| 29 | graph.add_node(node) |
| 30 | for dep in task.dependencies: |
| 31 | dep_node = visit(dep) |
| 32 | edge = pydot.Edge(dep_node.get_name(), node.get_name()) |
| 33 | graph.add_edge(edge) |
| 34 | |
| 35 | visited[task.task_id] = node |
| 36 | return node |
| 37 | |
| 38 | for task in job.tasks: |
| 39 | visit(task) |
no test coverage detected