legacy-arrflix/processes
s8n 23520df2df processes/subtitles: v2 REST fetcher + AD S02E01-E12 subbed
Adds lib/sub-rest-fetch.py: direct OpenSubtitles REST, looks up subs by
per-episode IMDB id (e.g. tt0511631) instead of the plugin's
(parent_imdb_id, season, episode) combo path. This sidesteps shows where
library numbering diverges from OpenSubtitles' catalogued numbering --
American Dad uses Hulu S1=7 eps; OS uses Fox S1=23 eps; the plugin path
returns 0 hits past S01E07 even though every per-episode IMDB id is
correct.

Recipe README updated to surface the two paths (v1 plugin / v2 REST) and
recommend v2 by default. American Dad run log now shows 19/58 episodes
subbed (S01 7/7 via v1, S02E01-E12 via v2). S02E13-S04 (39 eps) deferred
to next 20/day quota windows.

Quirk fixed in v2: OpenSubtitles /download endpoint consistently returns
HTTP 503 to Python urllib.request despite identical headers/body via curl.
_curl() shim routes all OS API calls through curl. Each 503 still
consumes a download slot, so urllib path was unsafe to retry on.
2026-05-09 23:09:09 +01:00
..
subtitles processes/subtitles: v2 REST fetcher + AD S02E01-E12 subbed 2026-05-09 23:09:09 +01:00
README.md processes/subtitles: v2 REST fetcher + AD S02E01-E12 subbed 2026-05-09 23:09:09 +01:00

processes/ — repeatable acquisition workflows

This folder holds the canonical recipes for acquiring external content for the ARRFLIX library: subtitles, artwork, metadata, episode stills, etc. Internal ops (encoding, importing, theming) stay in bin/ and docs/.

Each process is its own sub-folder with three files:

File Purpose
README.md The canonical recipe. Step-by-step, executable by Claude Code. Always reflects the latest version.
CHANGELOG.md Why the recipe changed, version-by-version. One entry per breakage that forced a revision.
runs/<show>.md Evidence log: what happened when this recipe was applied to a specific show.

Recipes evolve via the iteration model: apply to a show, succeed or break, amend the recipe to handle the new case + every prior case, retry. A recipe that "just works" is one that has survived every show in the library without amendment for a full sweep.

Children

Process Status Last touched
subtitles/ v2 — direct OpenSubtitles REST. AD 19/58 eps subbed (S01 + S02E01E12); S02E13S04 awaiting next quota window 2026-05-09