Made all subf2m test pass (#2645)

This commit is contained in:
GabbeHags 2024-09-02 11:19:52 +02:00 committed by GitHub
parent deae4e52f0
commit 92708e722f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 35 additions and 12 deletions

View file

@ -132,9 +132,9 @@ _DEFAULT_HEADERS = {
class Subf2mProvider(Provider):
provider_name = "subf2m"
_movie_title_regex = re.compile(r"^(.+?)( \((\d{4})\))?$")
_movie_title_regex = re.compile(r"^(.+?)(\s+\((\d{4})\))?$")
_tv_show_title_regex = re.compile(
r"^(.+?) [-\(]\s?(.*?) (season|series)\)?( \((\d{4})\))?$"
r"^(.+?)\s+[-\(]\s?(.*?)\s+(season|series)\)?(\s+\((\d{4})\))?$"
)
_tv_show_title_alt_regex = re.compile(r"(.+)\s(\d{1,2})(?:\s|$)")
_supported_languages = {}

View file

@ -86,11 +86,13 @@ def _get_matching_sub(
return None
def _analize_sub_name(sub_name: str, title_):
titles = re.split(r"[.-]", os.path.splitext(sub_name)[0])
def _analize_sub_name(sub_name: str, title_: str):
titles = re.split(r"[\s_\.\+]?[.-][\s_\.\+]?", os.path.splitext(sub_name)[0])
for title in titles:
title = title.strip()
ratio = SequenceMatcher(None, title, title_).ratio()
ratio = SequenceMatcher(None, title.lower(), title_.lower()).ratio()
if ratio > 0.85:
logger.debug(
"Episode title matched: '%s' -> '%s' [%s]", title, sub_name, ratio

View file

@ -281,7 +281,7 @@ class Subtitle(Subtitle_):
return encoding
def is_valid(self):
"""Check if a :attr:`text` is a valid SubRip format. Note that orignal format will pypass the checking
"""Check if a :attr:`text` is a valid SubRip format. Note that original format will bypass the checking
:return: whether or not the subtitle is valid.
:rtype: bool

View file

@ -184,15 +184,36 @@ def test_download_subtitle_episode(provider, subtitle_episode):
assert subtitle_episode.is_valid()
def test_download_subtitle_episode_with_title(provider):
@pytest.mark.parametrize(
"language,page_link,release_info,episode_number,episode_title",
[
(
"en",
"https://subf2m.co/subtitles/courage-the-cowardly-dog/english/2232402",
"Season 3 complete.",
13,
"Feast of the Bullfrogs",
),
(
"en",
"https://subf2m.co/subtitles/rick-and-morty-sixth-season/english/3060783",
"Used Subtitle Tools to convert from SUP to SRT, then ran the cleaner to remove HI. Grabbed subs from Rick.and.Morty.S06.1080p.BluRay.x264-STORiES.",
7,
"Full Meta Jackrick",
),
],
)
def test_download_subtitle_episode_with_title(
provider, language, page_link, release_info, episode_number, episode_title
):
sub = Subf2mSubtitle(
Language.fromalpha2("en"),
"https://subf2m.co/subtitles/courage-the-cowardly-dog/english/2232402",
"Season 3 complete.",
13,
Language.fromalpha2(language),
page_link,
release_info,
episode_number,
)
sub.episode_title = "Feast of the Bullfrogs"
sub.episode_title = episode_title
provider.download_subtitle(sub)
assert sub.is_valid()