modified: app.py
This commit is contained in:
20
app.py
20
app.py
@@ -12,7 +12,7 @@ def get_weather_data():
|
||||
try:
|
||||
# Herunterladen der Datei
|
||||
response = requests.get(url)
|
||||
response.raise_for_status() # Überprüfen, ob der Abruf erfolgreich war
|
||||
response.raise_for_status() # Check if request was successful
|
||||
|
||||
# Dekomprimieren der .gz-Datei
|
||||
file_content = gzip.decompress(response.content)
|
||||
@@ -27,23 +27,23 @@ def get_weather_data():
|
||||
except json.JSONDecodeError as e:
|
||||
return {"error": f"Fehler beim Verarbeiten der Wetterdaten: {e}"}
|
||||
|
||||
# Funktion, um die Wetterdaten für einen bestimmten Ort zu finden
|
||||
# Funktion, um die Wetterdaten für einen bestimmten Ort zu finden (mit mehreren Treffern)
|
||||
def find_weather_by_city(city, geojson_data):
|
||||
results = []
|
||||
matched_stations = []
|
||||
|
||||
for feature in geojson_data['features']:
|
||||
station_name = feature['properties']['data_004']['value'] # stationOrSiteName
|
||||
if city.lower() in station_name.lower():
|
||||
result = {
|
||||
matched_stations.append({
|
||||
"station": station_name,
|
||||
"temperature": feature['properties']['data_016']['value'],
|
||||
"precipitation": feature['properties']['data_021']['value'],
|
||||
"wind_speed": feature['properties']['data_057']['value'],
|
||||
"humidity": feature['properties']['data_015']['value']
|
||||
}
|
||||
results.append(result)
|
||||
|
||||
if results:
|
||||
return results
|
||||
})
|
||||
|
||||
if matched_stations:
|
||||
return matched_stations
|
||||
else:
|
||||
return {"error": "Ort nicht gefunden"}
|
||||
|
||||
@@ -65,7 +65,7 @@ def get_weather():
|
||||
if "error" in weather_data:
|
||||
return jsonify(weather_data)
|
||||
|
||||
# Suche nach dem Wetter für den eingegebenen Ort
|
||||
# Suche nach dem Wetter für den eingegebenen Ort (mit mehreren Treffern)
|
||||
result = find_weather_by_city(city, weather_data)
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user