CI Report:
https://ci-tests.linuxserver.io/linuxserver/tvheadend/5ce3ff63-ls286/index.html
LinuxServer Changes:
Full Changelog: fcd987f0-ls285...5ce3ff63-ls286
Remote Changes:
imagecache: ship the EPG-vs-imagecache audit tool (support/)
Adds a stdlib-only Python 3 developer tool, support/tv_imagecache_audit.py,
that cross-checks what the imagecache actually downloaded against the
rolling EPG, bucketed by airing day, so the imagecache behaviour (e.g.
fetch ordering and fill rate, #2160) can be validated against the expected
result.
Each EPG grid event carries image="imagecache/"; on disk data/
present means downloaded, meta/ is the JSON record. The tool joins the
two and reports, per airing day: distinct images referenced, cached,
still-to-download and errors, de-duplicated across days (a poster reused on
many days is one fetch, not N). A STATE line gives the instant verdict
(FILLING with observed rate, front position and wall-clock ETA / COMPLETE /
IDLE); a 1st-seen% row and the NOW-FIRST section isolate the fetch ordering
from cross-day reuse. Views: default matrix + per-day table + breakdown;
--coverage; --basic; --by-channel; --csv (append-friendly trend logging,
per-day columns included); every other view is stamped with a Time line;
--watch SEC; plus --day N, --details, --missing-only, --errors, --debug.
Everything is auto-detected from tvheadend itself (running process cmdline,
the config dir it logs, its built-in default config dirs, the live HTTP
API) and can be overridden (--imagecache/--log/--epg/--api).
Per review the tool lives in support/ with the other developer tooling and
is not installed by tvheadend's build - run it straight from a source
checkout. A @TVHEADEND_LOCALSTATEDIR@ placeholder is left for a packager
that does install it, to substitute its config dir; it is ignored for as
long as it has not been substituted.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01QEH1b4ASNYSrZFQnEeroj8