Skip to content

Fix episode detection for certain batch formats when "take subdirectory name into account" is enabled#849

Open
Apcty wants to merge 1 commit into
z411:masterfrom
Apcty:episode-parse-change
Open

Fix episode detection for certain batch formats when "take subdirectory name into account" is enabled#849
Apcty wants to merge 1 commit into
z411:masterfrom
Apcty:episode-parse-change

Conversation

@Apcty

@Apcty Apcty commented May 31, 2026

Copy link
Copy Markdown

Fixes #848

When library_full_path is on, _add_show_to_library extracted both series name and episode number from a file's full path, where the directory's episode range could interfere: a library with multiple batch folders ("Series (01-12)[batch]/Series - 07.mkv" and "OtherSeries [batch]/05 - Episode Title.mkv") would require this option, which causes wrong episode detection as the parser picked up the range from the directory name instead of the episode number from the filename.

Fix this by splitting the two concerns: run the parser on the full path to get the show title (benefiting from subdirectory context), but run a second parse on the bare basename to extract the episode number. Only fall back to the full-path parse for the episode number if the basename yields nothing (for a batch like "Series[batch]/07/Episode.mkv".

Note: extracting the basename via os.path.basename is slightly awkward since fullpath is available in add_to_library which calls _add_show_to_library, but this avoids larger changes to the codebase.

…nabled

When library_full_path is on, _add_show_to_library extracted both series name and episode number from a file's full path, where the directory's episode range could interfere: a library with multiple batch folders ("Series (01-12)[batch]/Series - 07.mkv" and "OtherSeries [batch]/05 - Episode Title.mkv") would require this option, which causes wrong episode detection as the parser picked up the range from the directory name instead of the episode number from the filename.
Fix this by splitting the two concerns: run the parser on the full path to get the show title (benefiting from subdirectory context), but run a second parse on the bare basename to extract the episode number. Only fall back to the full-path parse for the episode number if the basename yields nothing (for a batch like "Series[batch]/07/Episode.mkv".

Note: extracting the basename via os.path.basename is slightly awkward since fullpath is available in add_to_library which calls _add_show_to_library, but this avoids larger changes to the codebase.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Episode number extracted from directory name instead of filenames

1 participant