Added some documentation, fixed test and missing schedule

This commit is contained in:
robbe 2025-06-30 18:03:24 +02:00
parent ebfd85a666
commit fd6c8b4277
26 changed files with 1284 additions and 72 deletions

View file

@ -1,5 +1,9 @@
from abc import abstractmethod
from typing import override
from jinja2 import Template
from api.od import ODAPI
from .funcs import generate_dot_edge
from .node import Node
@ -33,3 +37,25 @@ class ExecNode(Node):
@abstractmethod
def execute(self, port: str, exec_id: int, od: ODAPI) -> tuple[int, any] | None:
return None
@override
def generate_dot(
self, nodes: list[str], edges: list[str], visited: set[int], template: Template
) -> None:
for out_port, edge in self.next_node.items():
template.render()
generate_dot_edge(
self,
edge[0],
edges,
template,
kwargs={
"prefix": "e",
"from_gate": out_port,
"to_gate": edge[1],
"color": "darkblue",
},
)
for edge in self.next_node.values():
edge[0].generate_dot(nodes, edges, visited, template)