modified: app.py
This commit is contained in:
36
app.py
36
app.py
@@ -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 []
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user