import requests import json USERNAME = "hubobel" URL = "https://www.simbrief.com/api/xml.fetcher.php" params = { "username": USERNAME, "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) resp.raise_for_status() data = resp.json() # dict # Top-Level-Keys ausgeben print(data.keys()) print() general = data.get("general", {}) origin = data.get("origin", {}) origin_name = start_name(origin["icao_code"]) dest = data.get("destination", {}) 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:", block) print(aircraft_icao, aircraft_name) print(origin["icao_code"], origin_name)