Fehlerhandling für Sensoren und Distributoren die nicht zugeordnet werden konnten. Sammlung und Ausgabe in eigenen Key für die Ergebnisse

This commit is contained in:
2025-05-22 13:22:45 +02:00
parent c703dc9902
commit 279135e013
2 changed files with 14 additions and 8 deletions
+12 -6
View File
@@ -27,7 +27,7 @@ def to_json(d, pretty: bool = True) -> str:
return json.dumps(d, indent=2 if pretty else None, ensure_ascii=False, default=str) #ensure_ascii false für darstellung von "ue"
def create_plant(racks:dict, sensors:dict, distributors:dict, mapping:dict):
def create_plant(racks:dict, sensors:dict, distributors:dict, mapping:dict) -> dict:
# racks = {'Rack_1-0': [Point(0, 0), Point(0, 10)],
# 'Rack_2-0': [Point(10, -2), Point(10, 5)],
@@ -60,11 +60,11 @@ def create_plant(racks:dict, sensors:dict, distributors:dict, mapping:dict):
# Füge Sensoren als Knoten hinzu
an.add_sensors(sensors)
# Verbinde Sensoren mit deren naheliegendsten Racks
an.connect_sensors_to_racks()
errors_sensors = an.connect_sensors_to_racks()
# Füge UV hinzu
an.add_distributors(distributors)
# Verbinde UV mit deren naheliegendsten Racks
an.connect_distributor_to_racks()
errors_dists = an.connect_distributor_to_racks()
# Verknüpfe Sensoren mit zugehörigem UV
an.map_distributors_to_sensors(mapping)
@@ -78,6 +78,8 @@ def create_plant(racks:dict, sensors:dict, distributors:dict, mapping:dict):
if args.graph:
draw_graph(G,an)
paths['errors_sensors'] = errors_sensors
paths['errors_dists'] = errors_dists
return paths
def draw_graph(G:nx.Graph, an:Anlage):
@@ -139,9 +141,13 @@ if __name__ == "__main__":
(racks, sensors, subdists, mapping) = prepare_data(rawdata)
# virtuelle Anlage erstellen
plant = create_plant(racks, sensors, subdists, mapping)
cable_paths = plant
cable_paths = create_plant(racks, sensors, subdists, mapping)
if args.console:
print(to_json(cable_paths))
print("failed sensor:")
print(to_json(cable_paths['errors_sensors']))
print("failed dists:")
print(to_json(cable_paths['errors_dists']))
# Ausgabe schreiben
if args.write: