From b9d9cef5efbf86fc6d0606d20203b9ec57c06719 Mon Sep 17 00:00:00 2001 From: Jiang Date: Sat, 7 Mar 2026 15:04:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AE=A1=E9=81=93=E5=8A=A0?= =?UTF-8?q?=E6=9D=83=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91bug=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=82=BB=E6=8E=A5=E5=85=B3=E7=B3=BB=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../burst_location/network_partitioner.py | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/app/algorithms/burst_location/network_partitioner.py b/app/algorithms/burst_location/network_partitioner.py index 5cd63b9..4699565 100644 --- a/app/algorithms/burst_location/network_partitioner.py +++ b/app/algorithms/burst_location/network_partitioner.py @@ -85,16 +85,25 @@ def metis_grouping_pipe_weight( correspond_dic = {} count_node = 0 w = [] - for line in generate_adjlist_with_all_edges(G1, delimiter): - temp_node_name = line.split(sep=delimiter) + for node_name, neighbors in G1.adjacency(): w_temp = [] - for i in range(len(temp_node_name) - 1): - temp_name_1 = temp_node_name[0] + "," + temp_node_name[i + 1] - w_temp.append(couple_node_length[temp_name_1]) + n_t = [node_dict[node_name]] + for neighbor_name, edge_data in neighbors.items(): + edge_key = f"{node_name},{neighbor_name}" + reverse_edge_key = f"{neighbor_name},{node_name}" + if edge_key in couple_node_length: + edge_weight = couple_node_length[edge_key] + elif reverse_edge_key in couple_node_length: + edge_weight = couple_node_length[reverse_edge_key] + elif edge_data.get("weight") is not None: + edge_weight = float(edge_data["weight"]) + else: + raise KeyError( + f"Missing edge weight for partition edge '{edge_key}' in burst locator." + ) + w_temp.append(edge_weight) + n_t.append(node_dict[neighbor_name]) w.append(w_temp) - n_t = [] - for each_node in temp_node_name: - n_t.append(node_dict[each_node]) correspond_dic[n_t[0]] = count_node count_node = count_node + 1 # del n_t[0]