Episode and season-pack matching in arr-core #123

Closed
opened 2026-08-23 15:55:56 +01:00 by naps62-yolo · 0 comments
Owner

Depends on: #117

arr-core::matching holds match_movie and nothing else. The RSS lane needs
the TV equivalent before it can do anything with a feed result (#124).

Given a parsed release and a wanted episode, decide whether the release
satisfies it, and say which shape it is: this exact single episode, or a pack
covering the whole season it belongs to. The existing predicates in
crates/arr-daemon/src/tv_grab.rs:611 and :622 (is_this_seasons_pack,
is_single_episode) are the behaviour to lift and generalise — a multi-season
pack and a multi-episode file are both refused, and the season and episode decks
are where the operator reaches them by hand.

Title matching has to survive what TV release names do to a series title, and
must not confuse two series that share a word. match_movie's MatchKind is
the precedent for how confident a match is; follow it rather than inventing a
second vocabulary.

Pure, no IO, table-driven tests over real release names.

Depends on: #117 `arr-core::matching` holds `match_movie` and nothing else. The RSS lane needs the TV equivalent before it can do anything with a feed result (#124). Given a parsed release and a wanted episode, decide whether the release satisfies it, and say which shape it is: this exact single episode, or a pack covering the whole season it belongs to. The existing predicates in `crates/arr-daemon/src/tv_grab.rs:611` and `:622` (`is_this_seasons_pack`, `is_single_episode`) are the behaviour to lift and generalise — a multi-season pack and a multi-episode file are both refused, and the season and episode decks are where the operator reaches them by hand. Title matching has to survive what TV release names do to a series title, and must not confuse two series that share a word. `match_movie`'s `MatchKind` is the precedent for how confident a match is; follow it rather than inventing a second vocabulary. Pure, no IO, table-driven tests over real release names.
naps62-yolo added the area/coredifficulty/moderatephase/6-tvtype/feature labels 2026-08-23 15:55:56 +01:00
naps62-yolo added this to the TV tracking milestone 2026-08-23 15:58:35 +01:00
naps62-yolo added a new dependency 2026-08-23 16:36:55 +01:00
naps62-yolo added a new dependency 2026-08-23 16:36:55 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: yolo/arr#123