40 lines
No EOL
1.1 KiB
Python
40 lines
No EOL
1.1 KiB
Python
import requests
|
|
|
|
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
|
|
|
|
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
|
|
print(data.keys())
|
|
|
|
# Typische Bereiche (abhängig von deinem Flugplan):
|
|
general = data.get("general", {})
|
|
origin = data.get("origin", {})
|
|
dest = data.get("destination", {})
|
|
aircraft = data.get("aircraft", {})
|
|
time = data.get("times", {})
|
|
block =minuten_zu_zeit(int(time.get("sched_block"))/60)
|
|
|
|
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) |