Schalter von -o auf -w geändert. Nimmt Parameter json File. Prints in getpositions entfernt.
This commit is contained in:
+28
-9
@@ -13,6 +13,18 @@ from plant import Anlage
|
||||
def load_json(jsonfilename):
|
||||
with open(jsonfilename, encoding='utf-8') as fh:
|
||||
return json.load(fh)
|
||||
|
||||
def write_results(jsnResults, outdir, filename):
|
||||
""" write results to a json file
|
||||
"""
|
||||
print("writing results to a json file ...")
|
||||
outfile = os.path.join(outdir, filename)
|
||||
with open(outfile, 'w', encoding='utf-8') as fh:
|
||||
fh.write(jsnResults)
|
||||
print("done")
|
||||
|
||||
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):
|
||||
@@ -66,6 +78,8 @@ def create_plant(racks:dict, sensors:dict, distributors:dict, mapping:dict):
|
||||
if args.graph:
|
||||
draw_graph(G,an)
|
||||
|
||||
return paths
|
||||
|
||||
def draw_graph(G:nx.Graph, an:Anlage):
|
||||
pos = an.get_node_positions()
|
||||
|
||||
@@ -75,10 +89,10 @@ def draw_graph(G:nx.Graph, an:Anlage):
|
||||
plt.show()
|
||||
|
||||
def prepare_data(rawdata:dict):
|
||||
sensors = data["sensors"]
|
||||
subdists = data["distributors"]
|
||||
racks = data["racks"]
|
||||
mapping = data["mapping"]
|
||||
sensors = rawdata["sensors"]
|
||||
subdists = rawdata["distributors"]
|
||||
racks = rawdata["racks"]
|
||||
mapping = rawdata["mapping"]
|
||||
dracks = dict()
|
||||
for rname,lp in racks:
|
||||
if rname not in dracks:
|
||||
@@ -93,6 +107,7 @@ if __name__ == "__main__":
|
||||
parser.add_argument('-f', '--filename', action='store', required=True, default="easy_position.json", help='file with all informations about positions gathered from getpositions', metavar='my_positions.json')
|
||||
parser.add_argument('-c', '--console', action='store_true', help='Ausgabe auf Konsole')
|
||||
parser.add_argument('-g', '--graph', action='store_true', help='Zeichnet den Graphen der Anlage')
|
||||
parser.add_argument('-w', '--write', action='store', help='erstellt Ausgabe-file für das Zeichnen von Kabeln in drawdxf')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
@@ -104,16 +119,20 @@ if __name__ == "__main__":
|
||||
jsonfilename = args.filename
|
||||
sensors_path = os.path.join(work_dir, jsonfilename)
|
||||
|
||||
# Einlesen
|
||||
# Einlesen und Vorbereiten der Daten
|
||||
rawdata = load_json(sensors_path)
|
||||
|
||||
(racks, sensors, subdists, mapping) = prepare_data(rawdata)
|
||||
|
||||
|
||||
# virtuelle Anlage erstellen
|
||||
plant = create_plant(racks, sensors, subdists, mapping)
|
||||
|
||||
# Erstelle Anlage
|
||||
|
||||
cable_paths = plant
|
||||
|
||||
# Ausgabe schreiben
|
||||
if args.write:
|
||||
basename = os.path.splitext(args.write)[0]
|
||||
write_results(to_json(cable_paths), work_dir, f"{basename}.json")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user