From 7c1158ce7545de24c3a1cb8ff46b3a66cf9df894 Mon Sep 17 00:00:00 2001 From: Ferrari Martino Giordano Date: Tue, 12 Mar 2024 12:06:59 +0100 Subject: [PATCH] feat: improving graph generation --- autodoc/autodoc.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/autodoc/autodoc.py b/autodoc/autodoc.py index 12c6edc..8425b06 100644 --- a/autodoc/autodoc.py +++ b/autodoc/autodoc.py @@ -118,7 +118,7 @@ def __doc_common_gam__(name, obj, edges, thread): def __doc_triggered_iogam__(name, obj, edges, thread): - node = "" + signals = "" if "InputSignals" in obj: for i, (l, sig) in enumerate(obj["InputSignals"].items()): alias = __sig_alias__(l, sig) @@ -132,14 +132,14 @@ def __doc_triggered_iogam__(name, obj, edges, thread): ) ) if i > 1: - node += " | " - node += f" " + signals += " | " + signals += f" " if i == 0: - node += "Trigger | { { " + signals += "Trigger | { { " else: - node += f"{l}" - node += " } | { " + signals += f"{l}" + signals += " } | { " if "OutputSignals" in obj: for i, (l, sig) in enumerate(obj["OutputSignals"].items()): alias = __sig_alias__(l, sig) @@ -153,9 +153,10 @@ def __doc_triggered_iogam__(name, obj, edges, thread): ) ) if i != 0: - node += " | " - node += f" {l} " - node += " } }" + signals += " | " + signals += f" {l} " + signals += " } }" + node = f'{name} [tooltip=" TriggeredIOGAM::{name} ", label="{name}\nTriggeredIOGAM | {signals}", style=filled, fillcolor="#eee"];\n' return node, edges @@ -218,12 +219,14 @@ def __doc_iogam__(id, obj, edges, thread): ) ) orelcount += 1 - fill = "#999" + fill = "#fff" fsize = 14.0 if bold or irelcount > 1 or orelcount > 1: fill = "#333" else: - fsize = 8.0 + irow = f"" + orow = f"" + fsize = 2.0 node += f'{id}_{counter} [tooltip=" IOGAM::{id} " label="' node += "{ {" + irow + "} | {" + orow + "} }" node += f'", fillcolor="{fill}", color="#666", style=filled,' @@ -267,7 +270,7 @@ def __doc_gam__(label, obj, edges, thread): elif cls == "IOGAM": return __doc_iogam__(id, obj, edges, thread) elif cls == "TriggeredIOGAM": - sigs, datasources = __doc_triggered_iogam__(id, obj, edges, thread) + return __doc_triggered_iogam__(id, obj, edges, thread) else: sigs, datasources = __doc_common_gam__(id, obj, edges, thread) if sigs: @@ -282,6 +285,7 @@ def __process_gamds__(name, signals, edges): outputs = {} inputs = {} done = False + to_keep = [] while not done: signals = {} for edge in edges: