From d5e4a9c08a144ab7da60d421f95f07e6609ce8f0 Mon Sep 17 00:00:00 2001 From: hubobel Date: Mon, 1 Dec 2025 11:23:28 +0100 Subject: [PATCH] hm...v5 --- Simbriefimport.py | 53 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/Simbriefimport.py b/Simbriefimport.py index 0d20fdf..f51e672 100644 --- a/Simbriefimport.py +++ b/Simbriefimport.py @@ -1,4 +1,5 @@ import requests +import json USERNAME = "hubobel" URL = "https://www.simbrief.com/api/xml.fetcher.php" @@ -8,24 +9,60 @@ params = { "json": 1, # JSON statt XML } +def minuten_zu_zeit(minuten) -> str: + minuten = int(minuten) + stunden = minuten // 60 # volle Stunden + rest_min = minuten % 60 # verbleibende Minuten + return f"{stunden}:{rest_min:02d}" # zweistellige Minutenanzeige +def aircr_name(aircraft_icao): + with open("aircraft_full.json", "r", encoding="utf-8") as f: + aircraft_data = json.load(f) + if aircraft_icao in aircraft_data: + antwort = (aircraft_data[aircraft_icao]["name"]) + else: + print("Code nicht vorhanden") + antwort = "unbekanntes Luftfahrzeug" + return (antwort) + +def start_name(ori_icao): + + with open("airports_full.json", "r", encoding="utf-8") as f: + ori_data = json.load(f) + if ori_icao in ori_data: + antwort = (ori_data[ori_icao]["name"]) + else: + print("Code nicht vorhanden") + antwort = "unbekannter Startflughafen" + return (antwort) + resp = requests.get(URL, params=params, timeout=15) -# Prüfen, ob Request OK war resp.raise_for_status() data = resp.json() # dict -# Überblick verschaffen: Top-Level-Keys ausgeben +# Top-Level-Keys ausgeben print(data.keys()) +print() -# Typische Bereiche (abhängig von deinem Flugplan): -general = data.get("general", {}) -origin = data.get("origin", {}) -dest = data.get("destination", {}) +general = data.get("general", {}) +origin = data.get("origin", {}) +origin_name = start_name(origin["icao_code"]) +origin_icao = origin["icao_code"] +dest = data.get("destination", {}) +dest_name = start_name(dest["icao_code"]) +dest_icao = dest["icao_code"] +aircraft = data.get("aircraft", {}) +time = data.get("times", {}) +block = minuten_zu_zeit(int(time.get("sched_block"))/60) +aircraft_icao = aircraft["icaocode"] +aircraft_name = aircr_name((aircraft_icao)) print("Airline:", general.get("icao_airline")) print("Flugnummer:", general.get("flight_number")) print("Abflug ICAO:", origin.get("icao_code")) print("Ziel ICAO:", dest.get("icao_code")) -print("Geplante Blockzeit:", general.get("times")) -print() \ No newline at end of file +print("Geplante Blockzeit:", block) +print(aircraft_icao, aircraft_name) +print(origin["icao_code"], origin_name) +print(dest_icao, dest_name)