Skip to content

Commit

Permalink
Made all subf2m test pass (#2645)
Browse files Browse the repository at this point in the history
  • Loading branch information
GabbeHags authored Sep 2, 2024
1 parent deae4e5 commit 92708e7
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 12 deletions.
4 changes: 2 additions & 2 deletions custom_libs/subliminal_patch/providers/subf2m.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,9 @@ def id(self):
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 = {}
Expand Down
8 changes: 5 additions & 3 deletions custom_libs/subliminal_patch/providers/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion custom_libs/subliminal_patch/subtitle.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ def guess_encoding(self):
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
Expand Down
33 changes: 27 additions & 6 deletions tests/subliminal_patch/test_subf2m.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand Down

0 comments on commit 92708e7

Please sign in to comment.