Refine watchlist search and provider fallback

This commit is contained in:
Codex
2026-08-09 12:03:08 +02:00
parent 34e3625f87
commit bc7270d7c1
7 changed files with 158 additions and 80 deletions
+2 -1
View File
@@ -6,6 +6,7 @@ Kaizoku is a local web app for searching, tracking, and downloading anime from A
- Search anime through the configured provider: `anikoto`, `anineko`, or `pahe`.
- Queue single episodes or batches in subbed or dubbed mode.
- Fall back across the other configured providers when an episode or stream cannot be resolved on the primary provider.
- Save files with Jellyfin-friendly layout: `TV/Series Name/Season 01/Series Name - S01E01.mp4`.
- Save English external subtitles when the provider exposes usable subtitle tracks.
- Manage watchlists for `Watching`, `Planned`, `Finished`, and `Dropped`.
@@ -67,7 +68,7 @@ The Docker image installs Python, Node.js, npm, and `ffmpeg`, then runs `npm ins
## Download Flow
Kaizoku stores provider-backed show IDs as `provider:id`, for example `anikoto:some-show-slug`. Queue jobs resolve the episode source through `providers/bridge.js`, then `provider_downloader.py` downloads the media with `ffmpeg` into a staging directory. Existing finalization code moves staged files into the configured library layout, preserving data already present in production download folders.
Kaizoku stores provider-backed show IDs as `provider:id`, for example `anikoto:some-show-slug`. Queue jobs resolve the episode source through `providers/bridge.js`, then `provider_downloader.py` downloads the media with `ffmpeg` into a staging directory. If the primary provider cannot list, resolve, or download a requested episode, Kaizoku searches the same title on the remaining providers and tries the matching episode there. Existing finalization code moves staged files into the configured library layout, preserving data already present in production download folders.
## Data Safety