Adds lib/audit-coverage.py: queries Jellyfin live for every series, every episode, and every movie; classifies each by whether the English subtitle comes from a sidecar, embedded stream, or doesn't exist; renders a Markdown report with one-char-per-episode bars for visual scanning. Output file is processes/subtitles/COVERAGE.md, regenerated on demand. v2 sub-rest-fetch.py and v3 sub-a7d-fetch.py now invoke the audit at end of a successful run, so the committed coverage file stays in sync with library state without manual intervention. v3.5 yt-fetch path skips the auto-call since it doesn't speak to Jellyfin directly; run audit manually after copying YT sidecars to nullstone. README.md surfaces the audit at the top so anyone landing in the recipe folder sees current state before starting a run.
75 lines
3.4 KiB
Markdown
75 lines
3.4 KiB
Markdown
# ARRFLIX subtitle coverage
|
|
|
|
_Generated 2026-05-10 01:18 UTC by `processes/subtitles/lib/audit-coverage.py`._
|
|
_Re-run: `JELLYFIN_TOKEN=<admin-token> processes/subtitles/lib/audit-coverage.py`._
|
|
|
|
Legend: `█` eng sidecar · `▒` eng embedded only · `▓` other-lang embedded · `·` none
|
|
|
|
## TV shows
|
|
|
|
```
|
|
Show Eps sc emb none Status
|
|
──────────────────────────────────────────────────────────────────────────────
|
|
American Dad! 58 49 0 9 PARTIAL (84%)
|
|
██████████████████████████·████████·█████······███
|
|
██·█████
|
|
|
|
Futurama 72 0 72 0 OK-EMBED (no sidecars)
|
|
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
|
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
|
|
|
Obi-Wan Kenobi 6 0 6 0 OK-EMBED (no sidecars)
|
|
▒▒▒▒▒▒
|
|
|
|
Rick and Morty 11 0 11 0 OK-EMBED (no sidecars)
|
|
▒▒▒▒▒▒▒▒▒▒▒
|
|
|
|
Sassy the Sasquatch 5 5 0 0 OK (100%)
|
|
█████
|
|
|
|
Star Wars: Maul - Shadow Lord 10 0 10 0 OK-EMBED (no sidecars)
|
|
▒▒▒▒▒▒▒▒▒▒
|
|
|
|
The Big Lez Saga (2022) 3 0 0 3 NEEDS SUBS
|
|
···
|
|
|
|
The Donny & Clarence Show (2024) 5 0 0 5 NEEDS SUBS
|
|
·····
|
|
|
|
The Mandalorian 24 0 24 0 OK-EMBED (no sidecars)
|
|
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
|
|
|
The Mike Nolan Show 3 0 0 3 NEEDS SUBS
|
|
···
|
|
|
|
```
|
|
|
|
## Movies
|
|
|
|
```
|
|
Title sc emb Status
|
|
──────────────────────────────────────────────────────────────────────────────
|
|
Idiocracy 0 2 OK (embedded)
|
|
The Dark Knight 0 1 OK (embedded)
|
|
The Incredible Hulk 0 1 OK (embedded)
|
|
```
|
|
|
|
## Aggregate
|
|
|
|
| Metric | Count | % |
|
|
|---|---:|---:|
|
|
| Episodes total | 197 | — |
|
|
| eng sidecar | 54 | 27% |
|
|
| eng embedded only | 123 | 62% |
|
|
| other-lang embedded only | 0 | 0% |
|
|
| no subs anywhere | 20 | 10% |
|
|
| Movies total | 3 | — |
|
|
| Movies with any eng sub | 3 | 100% |
|
|
|
|
## Status meanings
|
|
|
|
- **OK** — every episode has an external `.eng.srt` sidecar (STYLE.md happy path)
|
|
- **OK-EMBED** — all eps playable in English but no sidecars; `SaveSubtitlesWithMedia` won't trigger fetch since Jellyfin sees an eng track already
|
|
- **PARTIAL (X %)** — some sidecars, some gaps
|
|
- **NEEDS SUBS** — zero subs of any language; v3 / v3.5 / v4 fetch required
|
|
- **OTHER-LANG ONLY** (movies) — embedded subs exist but none in English
|