diff --git a/autodoc/__pycache__/autodoc.cpython-311.pyc b/autodoc/__pycache__/autodoc.cpython-311.pyc index 2f6d3ad..7c35c0c 100644 Binary files a/autodoc/__pycache__/autodoc.cpython-311.pyc and b/autodoc/__pycache__/autodoc.cpython-311.pyc differ diff --git a/autodoc/autodoc.py b/autodoc/autodoc.py index c53afbd..ed2ac7d 100644 --- a/autodoc/autodoc.py +++ b/autodoc/autodoc.py @@ -300,15 +300,20 @@ def __process_ds__(name, obj, edges): sigs = {} node = "" thread = "" + multi_thread = False for edge in edges: if edge[0][0] == name: sigs[edge[0][1]] = edge[0][2] if not thread: thread = edge[-1] + elif thread != edge[-1]: + multi_thread = True if edge[1][0] == name: sigs[edge[1][1]] = edge[1][2] if not thread: thread = edge[-1] + elif thread != edge[-1]: + multi_thread = True if sigs: if cls == "GAMDataSource": node, edges = __process_gamds__(name, sigs, edges) @@ -338,7 +343,7 @@ def __process_ds__(name, obj, edges): sig_type = sigs[sig_name] node += f"<{__sig_name__(sig_name)}> {sig_name} ({__type_to_str__(sig_type)})" node += '", color=blue];\n' - if cls != "RealTimeThreadAsyncBridge" and node: + if not multi_thread and node: node = f"subgraph cluster_{thread}" + "{" + node + "};" return node, edges