This commit is contained in:
hubobel 2025-12-01 11:20:49 +01:00
parent 337dc824a3
commit 1152709de7

View file

@ -1,5 +1,4 @@
import requests
import json
USERNAME = "hubobel"
URL = "https://www.simbrief.com/api/xml.fetcher.php"
@ -9,60 +8,24 @@ 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
# Top-Level-Keys ausgeben
# Überblick verschaffen: Top-Level-Keys ausgeben
print(data.keys())
print()
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))
# Typische Bereiche (abhängig von deinem Flugplan):
general = data.get("general", {})
origin = data.get("origin", {})
dest = data.get("destination", {})
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:", block)
print(aircraft_icao, aircraft_name)
print(origin["icao_code"], origin_name)
print(dest_icao, dest_name)
print("Geplante Blockzeit:", general.get("times"))
print()