modified: app.py

This commit is contained in:
SimolZimol
2024-09-10 13:17:32 +02:00
parent 3589e95d7c
commit f877e77a07

36
app.py
View File

@@ -16,29 +16,27 @@ def fetch_weather_data():
decompressed_data = bz2.decompress(response.content)
weather_data = json.loads(decompressed_data)
# Liste, um die Stationsnummern zu speichern
# Liste zur Speicherung der Stationsnummern
station_numbers = []
# Durchlaufe alle Nachrichten und versuche, die Stationsnummern zu extrahieren
# Durchlaufen der Nachrichten und ihrer Untergruppen
for message in weather_data.get('messages', []):
for subset in message[1]:
station_info = {}
for data_point in subset:
if isinstance(data_point, list):
# Suchen nach der Stationsnummer
for entry in data_point:
if entry.get('key') == 'stationNumber':
station_info['stationNumber'] = entry.get('value')
# Füge nur die Objekte mit einer validen Stationsnummer hinzu
if 'stationNumber' in station_info:
station_numbers.append(station_info)
# Sortiere die Stationen nach der `stationNumber`
sorted_stations = sorted(station_numbers, key=lambda x: x['stationNumber'])
# Überprüfen, ob der Eintrag eine Liste ist und Daten enthält
if isinstance(message, list) and len(message) > 1 and isinstance(message[1], list):
for subset in message[1]:
# Durchlaufen der Datenpunkte in jeder Subgruppe
if isinstance(subset, list):
for data_point in subset:
if isinstance(data_point, list):
for entry in data_point:
# Nur die "stationNumber" extrahieren
if entry.get('key') == 'stationNumber':
station_numbers.append(entry.get('value'))
return sorted_stations
# Rückgabe der gefundenen stationNumbers
return station_numbers
# Rückgabe einer leeren Liste, falls keine Daten gefunden wurden
return []