Subf2m Provider: add support for complete series packs

This commit is contained in:
Vitiko 2022-10-26 23:56:21 -04:00
parent 876b42bb8f
commit 122398fdc8
2 changed files with 26 additions and 3 deletions

View file

@ -272,8 +272,12 @@ class Subf2mProvider(Provider):
guess = _memoized_episode_guess(clean_text)
if "season" not in guess:
logger.debug("Nothing guessed from release: %s", clean_text)
continue
if "complete series" in clean_text.lower():
logger.debug("Complete series pack found: %s", clean_text)
guess["season"] = [season]
else:
logger.debug("Nothing guessed from release: %s", clean_text)
continue
if season in guess["season"] and episode in guess.get("episode", []):
logger.debug("Episode match found: %s - %s", guess, clean_text)

View file

@ -63,7 +63,7 @@ def test_find_episode_subtitles(language):
assert sub.language == language
def test_fint_episode_subtitles_from_complete_series_path(episodes):
def test_find_episode_subtitles_from_complete_series_path():
path = "/subtitles/courage-the-cowardly-dog"
with Subf2mProvider() as provider:
@ -73,6 +73,25 @@ def test_fint_episode_subtitles_from_complete_series_path(episodes):
assert sub.language == Language.fromalpha2("en")
def test_list_and_download_subtitles_complete_series_pack(episodes):
episode = list(episodes.values())[0]
episode.series = "Sam & Max: Freelance Police"
episode.name = "The Glazed McGuffin Affair"
episode.title = "The Glazed McGuffin Affair"
episode.season = 1
episode.episode = 21
with Subf2mProvider() as provider:
subtitles = provider.list_subtitles(episode, {Language.fromalpha2("en")})
assert subtitles
subtitle = subtitles[0]
provider.download_subtitle(subtitle)
assert subtitle.is_valid()
@pytest.fixture
def subtitle():
release_info = """Dune-2021.All.WEBDLL