From 5558faf7816ff612ec679d15272b82109cf6030f Mon Sep 17 00:00:00 2001 From: Ferrari Martino Giordano Date: Mon, 11 Mar 2024 11:24:04 +0100 Subject: [PATCH] feat: auto identify multithread datasources --- autodoc/__pycache__/autodoc.cpython-311.pyc | Bin 21682 -> 21777 bytes autodoc/autodoc.py | 7 ++++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/autodoc/__pycache__/autodoc.cpython-311.pyc b/autodoc/__pycache__/autodoc.cpython-311.pyc index 2f6d3adf1f8f2b5262263d459fef93a597601950..7c35c0cedc15f2b695b2eb28c2717c09c52cf38e 100644 GIT binary patch delta 1052 zcmb_aJ!lhQ82-M?-6faHmmg#PP^&hT5}gu~SRrUzLI#zhG%X@(wS3XqT8C@wP~K}D zbde0v52av>PKtHX+njWClTL?DLKhdw#uef4=2<%3zaqnMZ4FPhK z8l&Lhng|WY#A0snn0AAhe(ndlOpGHyxxaTjy0FjGK?fOYG0?<^Xj}qaZ0Dw;8pz$U zwoI|?cgky^zo3M?#-|;WH1-2|O1SP~06dtpP1RKDTBiq%)B2}y_1Gme#0;1W0$g5@ zonAu$g|iigyn^nq-lb*`E5W)>*19`^^{+(P5HQ4W9T#*0f`4^IHoa|$#yI%#kgCb* zp-w*`^S(~b_qd-Fb+&HG?LA$6N;j0XgH3{<>M;_(%f z0>wd|a1bq2K)NnXl1y^Ks32qH5h{lBAAWPdIOM>6gsR9C&Wp!|2^tbRg>>+9VDZka z`pud8oKd^Rg||2?W=kniDW>R-xLO>DM3Z;V+TmD>1e75c#Dijf(8Gr8)PeQcjbu}8 zs&*u?o_{WFjBH2JpCW1dV7eI)jbd&WZI28P>$k!7v{x<>cwA(Y}SGR delta 887 zcmbVIO=}ZT6n!rQmHL7aTOaAOyF8H#NUiYhLs{R-Be+?f{c9(Q>D8V z{P&w4=3ye#f=uCG0)7190Y4u)I2BNs*r_WO40U(AK7dhefT2f-x*hZ|0l2p=nWXII z--mZzg30tn7ec1jRGF6w3!;4pgD^t9D;nep6Pem|Vro!P%Uj4Wi zrULrP8uujzZ`b8@q1q&K!@8WQmV4UG2whd$ocbM)z4mZj+$@R_BmZft*U{hF)dhIa zwtr6*XkbCG`wc(r^U>{00xvEaT!9=THqt&D;Vgu?uDG%&7MeCr+7k&I;F9R44aSfS zcK}-2RQgP&P%dO|EE{urOU{;xiv?aCJJR0@pVtf5a;58fZr;!fG`&<^oSQUCw5ap< zW7F8jh2&nINJd2;2=RP!1Y7)Ga!~aL*N{RY4)9OOgo?FDGra4;<;Oc#CH^@%x+!55 zQ%&rbJq=&%ha79ju@@A8pFQ*q&sgEZO&88vzsEBYu3M=S$1tv1mCP*}KehgxK1J|H UYvSCz&@+NVYp4Tx{vkK>7cURNjsO4v 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