From 9f60a9e292cfed520a90ebe374f92c5a64ce4a09 Mon Sep 17 00:00:00 2001 From: Homelab Cursor Date: Fri, 27 Mar 2026 14:15:56 +0100 Subject: [PATCH] savetv_web: Neueste Filme zuerst, Aufnahmedatum anzeigen --- homelab-ai-bot/savetv_web.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/homelab-ai-bot/savetv_web.py b/homelab-ai-bot/savetv_web.py index b51bbc43..8b18351b 100644 --- a/homelab-ai-bot/savetv_web.py +++ b/homelab-ai-bot/savetv_web.py @@ -575,11 +575,18 @@ function filmCard(f) { var detailsHtml = cached ? buildDetails(cached) : ''; var detailsClass = detailsHtml ? 'film-details loaded' : 'film-details'; + var dateLabel = ''; + if (f.start_date) { + var d = new Date(f.start_date); + if (!isNaN(d)) dateLabel = d.toLocaleDateString('de-DE', {day:'2-digit', month:'2-digit', year:'numeric'}); + } + return '
' + statusEl + '
' + esc(f.title) + '
' + '
' + '' + esc(f.station) + '' + + (dateLabel ? '' + dateLabel + '' : '') + '' + (f.cinema ? 'Kino' : 'TV') + '' + '' + daysLabel + '' + '
' @@ -710,18 +717,20 @@ def api_films(): station = tc.get("STVSTATIONNAME", "?") days_left = int(tc.get("IDAYSLEFTBEFOREDELETE", 0)) tid = int(tc.get("ITELECASTID", 0)) + start_date = tc.get("DSTARTDATE", "") is_cinema = savetv._is_known_cinema(title) key = title.lower().strip() if key in seen_titles: if days_left > seen_titles[key]["days_left"]: - seen_titles[key].update(days_left=days_left, tid=tid) + seen_titles[key].update(days_left=days_left, tid=tid, start_date=start_date) continue seen_titles[key] = { "tid": tid, "title": title, "station": station, "days_left": days_left, "cinema": is_cinema, + "start_date": start_date, } - films = sorted(seen_titles.values(), key=lambda x: (x["days_left"], not x["cinema"])) + films = sorted(seen_titles.values(), key=lambda x: x.get("start_date", ""), reverse=True) dl_log = _load_download_log() return jsonify({