From 5485136cd40af81a30c8ee085eb41a70b65d53ad Mon Sep 17 00:00:00 2001 From: George Marchment <georgemarchment@yahoo.fr> Date: Mon, 14 Oct 2024 17:14:52 +0200 Subject: [PATCH] fixed bug in userview --- src/outils_graph.py | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/src/outils_graph.py b/src/outils_graph.py index 4ea75d9..a639446 100644 --- a/src/outils_graph.py +++ b/src/outils_graph.py @@ -608,7 +608,25 @@ def get_color_node(node, new_nodes): prop = 256- int(127*len(node)/max) return rgb_to_hex(prop, prop, prop) -def relev_user_view_builder(dico, relevant_modules): +def relev_user_view_builder(dico_param, relevant_modules): + import time + dico = copy.deepcopy(dico_param) + tag = str(time.time()) + + #Add this to simplify the use of duplicate processes + nodes_2_num = {} + for node in dico["nodes"]: + nodes_2_num[node['name']] = 0 + for node in dico["nodes"]: + tmp = nodes_2_num[node['name']] + nodes_2_num[node['name']]+=1 + node['name'] = f"{node['name']}{tag}{tmp}" + tab_temp = [] + for n in relevant_modules: + for i in range(0, nodes_2_num[n]): + tab_temp.append(f"{n}{tag}{i}") + relevant_modules = tab_temp + R = [] for r in relevant_modules: R+=get_id_from_name(dico, r) @@ -700,11 +718,18 @@ def relev_user_view_builder(dico, relevant_modules): for n in V_minus: if(not check_same_elements(rSucc(n, dico, R, ['output']), rSuccM(M, dico, R, ["output"]))): condition_left = False - if(condition_left and condition_right): + if(condition_left and condition_right): NRC.remove(M1) NRC.remove(M2) NRC.append(M) changes_in_NRC = True + break + if(changes_in_NRC): + break + if(changes_in_NRC): + break + + new_nodes = list(U)+NRC new_dico = {} @@ -715,7 +740,7 @@ def relev_user_view_builder(dico, relevant_modules): new_nodes[i].sort() new_name = get_name_new_node(get_names_tab(dico, new_nodes[i]), relevant_modules) node = {"id": ''.join(new_nodes[i]).replace('<', '').replace('>', ''), - "name": new_name, + "name": new_name.split(tag)[0], "shape": "ellipse", "xlabel": f"{len(new_nodes[i])}", "fillcolor": get_color_node(new_nodes[i], new_nodes)} -- GitLab