From da542a311a5f9a72f36cf25802b38e75e518d7db Mon Sep 17 00:00:00 2001 From: Vitiko Date: Fri, 14 Apr 2023 23:19:12 -0400 Subject: [PATCH] Subdivx Provider: handle UnicodeEncodeError for some titles --- libs/subliminal_patch/providers/subdivx.py | 3 +-- tests/subliminal_patch/test_subdivx.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/libs/subliminal_patch/providers/subdivx.py b/libs/subliminal_patch/providers/subdivx.py index f64e77525..b20523cbf 100644 --- a/libs/subliminal_patch/providers/subdivx.py +++ b/libs/subliminal_patch/providers/subdivx.py @@ -200,10 +200,9 @@ class SubdivxSubtitlesProvider(Provider): # download the subtitle logger.debug("Downloading subtitle %r", subtitle) - # download zip / rar file with the subtitle response = self.session.get( subtitle.download_url, - headers={"Referer": subtitle.page_link}, + headers={"Referer": _SERVER_URL}, timeout=30, ) response.raise_for_status() diff --git a/tests/subliminal_patch/test_subdivx.py b/tests/subliminal_patch/test_subdivx.py index 15b4fce53..96342075c 100644 --- a/tests/subliminal_patch/test_subdivx.py +++ b/tests/subliminal_patch/test_subdivx.py @@ -153,3 +153,21 @@ def test_subtitle_matches(video): assert "resolution" in matches assert "video_codec" in matches assert "release_group" in matches + + +def test_latin_1_subtitles(): + item = Episode.fromname( + "/tv/Grey's Anatomy/Season 19/Greys.Anatomy.S19E13.1080p.WEB.h264-ELEANOR[rarbg].mkv" + ) + + item.series = "Grey's Anatomy" + item.season = 19 + item.episode = 13 + + with SubdivxSubtitlesProvider() as provider: + subtitles = provider.list_subtitles(item, {Language.fromietf("es")}) + subtitle = subtitles[0] + + provider.download_subtitle(subtitle) + + assert subtitle.is_valid()