From 71337bb55244411359cf94fb99c2eb95adca047a Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Tue, 21 Apr 2026 09:39:05 +0200 Subject: [PATCH] modified: __pycache__/app.cpython-310.pyc modified: app.py modified: static/css/style.css modified: templates/weather.html --- __pycache__/app.cpython-310.pyc | Bin 7800 -> 7982 bytes app.py | 11 ++++++++--- static/css/style.css | 4 ++++ templates/weather.html | 4 +++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/__pycache__/app.cpython-310.pyc b/__pycache__/app.cpython-310.pyc index bf6f1a2b9f6d6f6c71618d6dc246e40e34717ad9..6370fb7959413f46e0f3cca49a1e53a018ac8910 100644 GIT binary patch delta 1293 zcmZ8gO>7%Q6rMMpIBR=tum5-blaP=EOjDqQP+9_1&`JdX5^#%BSs`PBL$RC9q(x{J z153$)7DY^pswxNj0NjvJD{+7$H!dLcWL4q@-1vt=OUv7zCWT$iH}Adu=9~BC&0d-N zWcVEqNn$Xqw}nj6ozCj93)4^ z7pRkR(lX6+7I6%bkp|DZ)IKGRl`JRg;9F@90v{{QdImvK`4PU*xBVR!Ii_+-j`lLN9^3ret<%|BZyv)noaj?HyCcLyv zf|r|HQJItZIf7|g7V*=%>_yNnTclSA;(Y)TMk_h9F821Izd^BKef}ILEw}l-15^zv>tdD801G2_K)>z2G`Ic11{b)DMZx6z&A1)K8 zAalK9pWyMlfDOnyMOnZq^0MgFgOZ0tDX?8UbWXP8&kFO_xX{q6V7i7&(ZY>!?UK(y zdwVUG*u@VggeEMcq3ePu-?S<_M645et}lRgARtUpK`z$eLNKpX`NV0;C$}`O&P`aI zx!I~0*#dJ)j_FuVSu$+vl-E`)vpe^{OLm7#ajVbp9@O}qeb~MUb$*wB6DqQVCsOeb z()>?{Ezb)&y9viG@vP4&hf!<`M!yZBnA%5z#dh(Bx-G&%5(Ru(Mi6&PK)hR0#Cv2E zQJ2Gr_sTfp9+^eFPwJT5Oy6VPzf%o*v$BBrfGi>Il_uhY(n8!P%ZU5Mh=TXvc~YNy zW)SJvVnFN*v&ApreRHZl(AUJGXm#2R-dYob;iYxkZnniB*6y5W9PKPE9(`?S^6>u2 zr`2QT5g1iHb0I#6HQVd2H0?#9u9{ClRUNh#rn~ra&nLp=jTV1(0IdPMG*7vh*SKi3 z7hA`h_Up*9-%y`h72{3Me9HsZgSXXp))aiLlI2~yzQ9 z1RckSk15qC?>iX1!6?1XBJ>}|=ruM(ud*opn+?;ym`1O#82vLIr+?@P`a9FP+IKm(r6SyrVX%qi|MzT&;ttzNzkk^D0t1 g2ODau_9(ooF4tzFXFTG0RT!C%HRGV=^1yEV3tUS}82|tP delta 1089 zcmZ8gJxmlq6rQ&%+;QCP?d|>U{Q-*LiJBNle>W{}Gl$w-G8;vpJEUtua&Xv~s~8ds(w zl+1x+g(;ztMJNMT%rFo0wwukyQywydK*~^=E)i38lok#s#Zl=cSL#}WlzlA96$?-) zQL9S0S%gQpIuFLjNkWs8#2qxX-ojNL=_i}pM|NGJ z*#^vfquLqLM4b4X7yr{^=Dqk_RVR)>h_-u_zaFK-qaf}wP`0yyS9O#= zCy_%Qde}uPtCPgkxLS`l2%hq_qGU$QDA%xrYJ^AaYEZI|C0yIW*vk$F?cG?c5b+7-XDMW%X93f9tjsR2O0iBPRvZDeT>+M4X(VGE7P#-J z4DDK!=#h25UFQ;1I(IJWx?Ggam>D+{W)i!J(C!*uD%RP5pa*&^33qyhU67?m8{qUo z)oz3WJ!XfPDIUWkNjV1@-*>+W+jH-A31&V~&EX_H6t4x*O&7(~R+-$|OHXjZn>cWZ zw{Ra1aBT6Nw}<+&w4R=$L7P0VTrO~KV_rkvC{m6Q5A#f zjCvQp8TahvzP(stKHUwk#fx;W<_CLp;goSm|Kw)zJspFf_?= jetzt (UTC), sonst erste verfügbare now_utc = _dt.datetime.now(_dt.timezone.utc).replace(tzinfo=None) - current = forecast[0] - for h in forecast: + now_local = _dt.datetime.now() # lokale Serverzeit für Anzeige + current_idx = 0 + for i, h in enumerate(forecast): dt = h["datetime"] dt_naive = dt.replace(tzinfo=None) if hasattr(dt, "tzinfo") and dt.tzinfo is not None else dt if dt_naive >= now_utc: - current = h + current_idx = i break + current = forecast[current_idx] + # Stundenliste ab jetzt kürzen + forecast = forecast[current_idx:] # Tageszusammenfassung daily = {} @@ -262,6 +266,7 @@ def wetter(): station_id=station_id, station_dist=station_dist, current=current, + now_local=now_local.strftime("%H:%M"), forecast=forecast[:48], daily=daily_summary, chart_labels=chart_labels, diff --git a/static/css/style.css b/static/css/style.css index 7a4998b..e7e398a 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -278,6 +278,10 @@ main { flex: 1; } } .hero-meta svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--orange); } .hero-meta-sub { color: var(--muted); font-weight: 400; } +.hero-meta-time { + margin-left: auto; font-variant-numeric: tabular-nums; + color: var(--orange); font-weight: 600; letter-spacing: 0.04em; +} .hero-main { display: flex; align-items: flex-start; gap: 2rem; diff --git a/templates/weather.html b/templates/weather.html index e460f57..46419fc 100644 --- a/templates/weather.html +++ b/templates/weather.html @@ -21,6 +21,7 @@ {{ display_name.split(',')[0] }} {{ display_name.split(',')[1:3]|join(',') if ',' in display_name else '' }} + {{ now_local }} Uhr
@@ -70,7 +71,8 @@ {% for h in forecast %}
- {% if h.datetime is string %}{{ h.datetime[11:16] }} + {% if loop.first %}Jetzt + {% elif h.datetime is string %}{{ h.datetime[11:16] }} {% else %}{{ h.datetime.strftime('%H:%M') }}{% endif %}