diff --git a/app.py b/app.py index e0bca6a..cd2f81b 100644 --- a/app.py +++ b/app.py @@ -75,7 +75,8 @@ MOSMIX_PARAMS = [ # ── Wetter-Icons (OpenWeatherMap CDN) ──────────────────────────────────────── _OWM = "https://openweathermap.org/img/wn/" -ICON_URLS = { +# Day icons – keyed by the emoji that weather_icon() / pick_daily_icon() returns +ICON_URLS_DAY = { "☀️": _OWM + "01d@2x.png", # klar "⛅": _OWM + "02d@2x.png", # leicht bewölkt "☁️": _OWM + "04d@2x.png", # bedeckt @@ -83,9 +84,19 @@ ICON_URLS = { "🌦️": _OWM + "09d@2x.png", # Regenschauer "❄️": _OWM + "13d@2x.png", # Schnee } +# Overrides for night hours (20–5 Uhr): only clear/partly change visually +ICON_URLS_NIGHT = { + "☀️": _OWM + "01n@2x.png", # klare Nacht (Mond) + "⛅": _OWM + "02n@2x.png", # leicht bewölkt nachts +} -def _icon_url(emoji): - return ICON_URLS.get(str(emoji), _OWM + "03d@2x.png") +def _icon_url(emoji, hour=12): + """Return OWM icon URL. Uses night variants for clear/partly-cloudy between 20–5 Uhr.""" + e = str(emoji) + is_night = hour >= 20 or hour < 6 + if is_night and e in ICON_URLS_NIGHT: + return ICON_URLS_NIGHT[e] + return ICON_URLS_DAY.get(e, _OWM + "03d@2x.png") def _get_berlin(): try: diff --git a/templates/weather.html b/templates/weather.html index 186bae4..397a457 100644 --- a/templates/weather.html +++ b/templates/weather.html @@ -28,7 +28,7 @@
{{ current.temp_c if current.temp_c is not none else "–" }}°
- {{ current.icon }} + {{ current.icon }}
{% if current.wind_kmh is not none %} @@ -171,7 +171,7 @@ {% else %}{{ h.datetime.strftime('%d.%m.') }}{% endif %}
- {{ h.icon }} + {{ h.icon }}
{% if h.temp_c is not none %}{{ h.temp_c }}°{% else %}–{% endif %} @@ -231,7 +231,7 @@
- {{ d.icon }} + {{ d.icon }}