modified: app.py

modified:   templates/index.html
This commit is contained in:
SimolZimol
2024-09-09 19:45:15 +02:00
parent ea6325f41d
commit 04cfc478dc
2 changed files with 16 additions and 26 deletions

25
app.py
View File

@@ -27,25 +27,18 @@ 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 (mit mehreren Treffern)
# Funktion, um die Wetterdaten für einen bestimmten Ort zu finden
def find_weather_by_city(city, geojson_data):
matched_stations = []
for feature in geojson_data['features']:
station_name = feature['properties']['data_004']['value'] # stationOrSiteName
station_name = feature['properties']['data_004']['value'] # 'STATION OR SITE NAME'
if city.lower() in station_name.lower():
matched_stations.append({
return {
"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']
})
if matched_stations:
return matched_stations
else:
return {"error": "Ort nicht gefunden"}
"temperature": feature['properties']['data_015']['value'], # 'TEMPERATURE/AIR TEMPERATURE'
"wind_speed": feature['properties']['data_071']['value'], # 'WIND SPEED'
"humidity": feature['properties']['data_019']['value'] # 'RELATIVE HUMIDITY'
}
return {"error": "Ort nicht gefunden"}
# Route zum Laden der Startseite (index.html)
@app.route('/')
@@ -65,7 +58,7 @@ def get_weather():
if "error" in weather_data:
return jsonify(weather_data)
# Suche nach dem Wetter für den eingegebenen Ort (mit mehreren Treffern)
# Suche nach dem Wetter für den eingegebenen Ort
result = find_weather_by_city(city, weather_data)
return jsonify(result)

View File

@@ -60,16 +60,13 @@
if (data.error) {
container.innerHTML = `<p>${data.error}</p>`;
} else {
data.forEach(item => {
const weatherHTML = `
<p><strong>Ort:</strong> ${item.station}</p>
<p><strong>Temperatur:</strong> ${item.temperature || "N/A"} °C</p>
<p><strong>Windgeschwindigkeit:</strong> ${item.wind_speed || "N/A"} m/s</p>
<p><strong>Luftfeuchtigkeit:</strong> ${item.humidity || "N/A"} %</p>
<p><strong>Niederschlag:</strong> ${item.precipitation || "N/A"} kg/m²</p>
`;
container.innerHTML += weatherHTML;
});
const weatherHTML = `
<p><strong>Ort:</strong> ${data.station}</p>
<p><strong>Temperatur:</strong> ${data.temperature} K</p>
<p><strong>Windgeschwindigkeit:</strong> ${data.wind_speed} m/s</p>
<p><strong>Luftfeuchtigkeit:</strong> ${data.humidity} %</p>
`;
container.innerHTML = weatherHTML;
}
}
</script>