From 783e6b38ea5be62ebe9c001a9736a19486b269e6 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Fri, 12 Jan 2024 06:41:51 -0500 Subject: [PATCH] Removed aRGENTeaM provider that have been recently closed. #2352 --- README.md | 1 - bazarr/app/get_providers.py | 2 +- frontend/src/pages/Settings/Providers/list.ts | 1 - libs/subliminal_patch/providers/argenteam.py | 193 ------- .../test_download_subtitle.yaml | 546 ------------------ .../test_list_subtitles_episode.yaml | 129 ----- ...test_list_subtitles_episode_with_tvdb.yaml | 174 ------ .../test_list_subtitles_movie.yaml | 366 ------------ tests/subliminal_patch/test_argenteam.py | 142 ----- tests/subliminal_patch/test_core.py | 40 +- 10 files changed, 21 insertions(+), 1573 deletions(-) delete mode 100644 libs/subliminal_patch/providers/argenteam.py delete mode 100644 tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml delete mode 100644 tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml delete mode 100644 tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode_with_tvdb.yaml delete mode 100644 tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml delete mode 100644 tests/subliminal_patch/test_argenteam.py diff --git a/README.md b/README.md index 4f6f8725a..c244d7b47 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,6 @@ If you need something that is not already part of Bazarr, feel free to create a ## Supported subtitles providers: - Addic7ed -- Argenteam - Assrt - BetaSeries - BSplayer diff --git a/bazarr/app/get_providers.py b/bazarr/app/get_providers.py index c669286c2..415340b19 100644 --- a/bazarr/app/get_providers.py +++ b/bazarr/app/get_providers.py @@ -122,7 +122,7 @@ def provider_throttle_map(): PROVIDERS_FORCED_OFF = ["addic7ed", "tvsubtitles", "legendasdivx", "napiprojekt", "shooter", - "hosszupuska", "supersubtitles", "titlovi", "argenteam", "assrt", "subscene"] + "hosszupuska", "supersubtitles", "titlovi", "assrt", "subscene"] throttle_count = {} diff --git a/frontend/src/pages/Settings/Providers/list.ts b/frontend/src/pages/Settings/Providers/list.ts index ba91cd580..b70b989ce 100644 --- a/frontend/src/pages/Settings/Providers/list.ts +++ b/frontend/src/pages/Settings/Providers/list.ts @@ -63,7 +63,6 @@ export const ProviderList: Readonly = [ }, ], }, - { key: "argenteam", description: "LATAM Spanish Subtitles Provider" }, { key: "assrt", description: "Chinese Subtitles Provider", diff --git a/libs/subliminal_patch/providers/argenteam.py b/libs/subliminal_patch/providers/argenteam.py deleted file mode 100644 index 4826a7f9b..000000000 --- a/libs/subliminal_patch/providers/argenteam.py +++ /dev/null @@ -1,193 +0,0 @@ -# coding=utf-8 -from __future__ import absolute_import - -from json import JSONDecodeError -import logging -import os -import urllib.parse - -from requests import Session -from subliminal import Episode -from subliminal import Movie -from subliminal_patch.providers import Provider -from subliminal_patch.providers.mixins import ProviderSubtitleArchiveMixin -from subliminal_patch.providers.utils import get_archive_from_bytes -from subliminal_patch.providers.utils import get_subtitle_from_archive -from subliminal_patch.providers.utils import update_matches -from subliminal_patch.subtitle import Subtitle -from subzero.language import Language - -BASE_URL = "https://argenteam.net" -API_URL = f"{BASE_URL}/api/v1" - -logger = logging.getLogger(__name__) - - -class ArgenteamSubtitle(Subtitle): - provider_name = "argenteam" - hearing_impaired_verifiable = False - - def __init__(self, language, page_link, download_link, release_info, matches): - super(ArgenteamSubtitle, self).__init__(language, page_link=page_link) - - self._found_matches = matches - - self.page_link = page_link - self.download_link = download_link - self.release_info = release_info - - @property - def id(self): - return self.download_link - - def get_matches(self, video): - update_matches(self._found_matches, video, self.release_info) - - return self._found_matches - - -class ArgenteamProvider(Provider, ProviderSubtitleArchiveMixin): - provider_name = "argenteam" - - languages = {Language("spa", "MX")} - video_types = (Episode, Movie) - subtitle_class = ArgenteamSubtitle - - _default_lang = Language("spa", "MX") - - def __init__(self): - self.session = Session() - - def initialize(self): - self.session.headers.update( - {"User-Agent": os.environ.get("SZ_USER_AGENT", "Sub-Zero/2")} - ) - - def terminate(self): - self.session.close() - - def query(self, video): - is_episode = isinstance(video, Episode) - imdb_id = video.series_imdb_id if is_episode else video.imdb_id - - if not imdb_id: - logger.debug("%s doesn't have IMDB ID. Can't search") - return [] - - if is_episode: - argenteam_ids = self._search_ids( - imdb_id, season=video.season, episode=video.episode - ) - else: - argenteam_ids = self._search_ids(imdb_id) - - if not argenteam_ids: - logger.debug("No IDs found") - return [] - - return self._parse_subtitles(argenteam_ids, is_episode) - - def _parse_subtitles(self, ids, is_episode=True): - movie_kind = "episode" if is_episode else "movie" - - subtitles = [] - - for aid in ids: - response = self.session.get( - f"{API_URL}/{movie_kind}", params={"id": aid}, timeout=10 - ) - response.raise_for_status() - - try: - content = response.json() - except JSONDecodeError: - continue - - if not content or not content.get("releases"): - continue - - for r in content["releases"]: - for s in r["subtitles"]: - page_link = f"{BASE_URL}/{movie_kind}/{aid}" - - release_info = self._combine_release_info(r, s) - - logger.debug("Got release info: %s", release_info) - - download_link = s["uri"].replace("http://", "https://") - - # Already matched within query - if is_episode: - matches = {"series", "title", "season", "episode", "imdb_id", "year"} - else: - matches = {"title", "year", "imdb_id"} - - subtitles.append( - ArgenteamSubtitle( - self._default_lang, - page_link, - download_link, - release_info, - matches, - ) - ) - - return subtitles - - def list_subtitles(self, video, languages): - return self.query(video) - - def download_subtitle(self, subtitle): - r = self.session.get(subtitle.download_link, timeout=10) - r.raise_for_status() - - archive = get_archive_from_bytes(r.content) - subtitle.content = get_subtitle_from_archive(archive) - - def _search_ids(self, identifier, **kwargs): - """ - :param identifier: imdb_id or title (without year) - """ - identifier = identifier.lstrip("tt") - - query = identifier - if kwargs.get("season") and kwargs.get("episode"): - query = f"{identifier} S{kwargs['season']:02}E{kwargs['episode']:02}" - - logger.debug("Searching ID for %s", query) - - r = self.session.get(f"{API_URL}/search", params={"q": query}, timeout=10) - r.raise_for_status() - - try: - results = r.json() - except JSONDecodeError: - return [] - - if not results.get("results"): - return [] - - match_ids = [result["id"] for result in results["results"]] - logger.debug("Found matching IDs: %s", match_ids) - - return match_ids - - def _combine_release_info(self, release_dict, subtitle_dict): - releases = [ - urllib.parse.unquote(subtitle_dict.get("uri", "Unknown").split("/")[-1]) - ] - - combine = [ - release_dict.get(key) - for key in ("source", "codec", "tags") - if release_dict.get(key) - ] - - if combine: - r_info = ".".join(combine) - if release_dict.get("team"): - r_info += f"-{release_dict['team']}" - - releases.append(r_info) - - return "\n".join(releases) diff --git a/tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml b/tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml deleted file mode 100644 index 01d73f5e9..000000000 --- a/tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml +++ /dev/null @@ -1,546 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/search?q=Breaking+Bad+S01E01 - response: - body: - string: !!binary | - H4sIAAAAAAAAAyxSvU4cMRB+lZErkJbTkTRoO1AiFJRIKBQUiGLWnuPm8HqW8fiiC+JhrqSgQHmE - fbHIvussfTPffD9+dUq5RMuuf3h1HFz/dblcXnTO2CK53l0p4TOnJ7jCACdflsuLU4CHu+X59+X5 - I5zBLUcx1znbTXWcJs4SyHUul3FE3bne3WM0Urhfs1EHpAglwQpHyQKctpSNnzCIwkuZP0b2AoHq - yKQN4jr3EwdRNFGuaIRrGZg0SQcvhQAhzB9Y19aygzVC5iCgFKkSAwKlTPMnKiDgNO+NvWSgbCUw - JqN8vPgjZWMrJkAJLuNQXgrpS6EF3KIiTBJIIVbWyrTiVPdGymA4Djy/JzCm1KhMccBNvT1SYISN - aMJQlVQ04hYDaXPqxa8pL+Ay0Djvcwfze4Qd5AKUJ8nYwd3zLpLCyWVKCNclpQ6+EYY/IuG0g5IQ - xrIhbVFkqv5XopvqvGESKBuCR9UaPtXz4GWcFM+2lKwFh2rzhy9RMkyiQFe462pC8z6BV8bUcjxU - 2cGNLuDk9+JmAb/YLFKTARvZUoskMHnOTEaA86fkDrykJuZJMcGqkP5tV7cSSzIMhxoP4U2o8z5y - 5gyelAbFCFHaQP0RTXBJldE4lVqzSV3CamuFI0fGBdzWdE0Ctp4xQ+AV+xINA2WYMHIgT6mmoRTR - 8/yvcQJFSIW2tZrsy6A8MiVrTR3c90edft4nT3q0BpNKmv9lO/7fIPngvdnkgAvXOR7D4HrnOjdJ - NtL6fnvsnIlhdP1552S1ymSuX779BwAA//8DAOpgiQCaAwAA - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743ae9fcd7523-SCL - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:43 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=PxlJNR0AxqyB8FPFuHChYEXuwVNJ9Fy9z23lPUnvuHiZY9aRqeJ22Rs2o1lg2c7n6KA0E9h2xU0tcT%2FgzTO0J17LLKT3FFWqeBB161WjmjrZg9FZc%2FtVuJ4YGvDToYPqI7uMzTVKZYBWI095"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/episode?id=30008 - response: - body: - string: !!binary | - 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 - AA== - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743b0fc487523-SCL - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:44 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=wAS4IfAlvPbIWOaiVRMMsvQyHjHeWJHg4DXEppWEOIWVyUcfyHACr9s0g5RBj%2Fxx6QDVNq3tP9xwho%2BocKR%2BjjHi%2B72%2B67nzX80tDqz7h6qXT9BT%2FLK1WuIsY%2BUsSXWCzxIwjw4bTFYx1U2T"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/subtitles/23940/Breaking.Bad.%282008%29.S01E01-Pilot.DVDRip.XviD-ORPHEUS - response: - body: - string: '' - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743b348877523-SCL - Connection: - - keep-alive - Content-Length: - - '0' - Date: - - Tue, 30 Nov 2021 21:45:44 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=3rN8IWuQQ1NCihTEeSmgpHtZRkKEwab5k36GYfg7oPgpo9NNZ3d0POAg4yeDdAg8fKkwpnitmaSVFIeOkV3tFCuSFM%2BbA0M4vOAXlmKTd5YBrtbsvG58QoR%2FAvvY1ZBlhiylJo8cR8qt3JkJ"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - location: - - https://subs.argenteam.net/Breaking.Bad(101)(2008)-aRGENTeaM-16601.zip - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://subs.argenteam.net/Breaking.Bad(101)(2008)-aRGENTeaM-16601.zip - response: - body: - string: !!binary | - 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 - Gl2gf4bbDznQcDl8K7xc5FXbfH3Pabsc63nFdgJnk3Dbpq6HqOu0K8rluWeiud7Lc2YuX631At6C - Jjjba8e4XygZzHJ3GNpzdcpTRVAMsDmJwUuCIXyYOTnIK6LlOafQCn/JGCE2ma5gcmu7nHnFtTxf - l2ZCZL6U5AnE/A7n+4f9AQcFX1b39q9nr963zcvHj/75z38+4yuQ922zebZt92D5/wFQSwcIloU3 - BfVDAABwowAAUEsDBAoAAAAAAPOUnUAAAAAAAAAAAAAAAAAJABAAX19NQUNPU1gvVVgMAMlunU/J - bp1P9QEUAFBLAwQUAAgACADSlJ1AAAAAAAAAAAAAAAAAPAAQAF9fTUFDT1NYLy5fQnJlYWtpbmcu - QmFkLlMwMUUwMS5QaWxvdC5EVkRSaXAuWHZpRC1PUlBIRVVTLnNydFVYDACUbp1PjG6dT/UBFABj - YBVjZ2BiYPBNTFbwD1aIUIACkBgDJxAbAfFkIAbxjzIQBRxDQoKgTJCOGUCsi6aEESEumpyfq5dY - UJCTqldYmliUmFeSmZfKUKhvYGBgaG2SZplilmqRbO2WWZSall9hXZNflK6Xm1+VmZOTqJcGEWQA - AFBLBwilfDPjdAAAAMUAAABQSwECFQMUAAgACADSlJ1AloU3BfVDAABwowAAMQAMAAAAAAAAAABA - pIEAAAAAQnJlYWtpbmcuQmFkLlMwMUUwMS5QaWxvdC5EVkRSaXAuWHZpRC1PUlBIRVVTLnNydFVY - CACUbp1PjG6dT1BLAQIVAwoAAAAAAPOUnUAAAAAAAAAAAAAAAAAJAAwAAAAAAAAAAED9QWREAABf - X01BQ09TWC9VWAgAyW6dT8lunU9QSwECFQMUAAgACADSlJ1ApXwz43QAAADFAAAAPAAMAAAAAAAA - AABApIGbRAAAX19NQUNPU1gvLl9CcmVha2luZy5CYWQuUzAxRTAxLlBpbG90LkRWRFJpcC5YdmlE - LU9SUEhFVVMuc3J0VVgIAJRunU+Mbp1PUEsFBgAAAAADAAMAJAEAAIlFAAAAAA== - headers: - Accept-Ranges: - - bytes - Age: - - '703' - CF-Cache-Status: - - HIT - CF-RAY: - - 6b6743b72ac3e51a-ARI - Cache-Control: - - max-age=14400 - Connection: - - keep-alive - Content-Length: - - '18115' - Content-Type: - - application/zip - Date: - - Tue, 30 Nov 2021 21:45:44 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Clmze%2FTQasv7IHNXRzD09cj0q3UVcXbLCJrgz5RB4CFS7HhylBeuaQpCnZeRmeJg%2FyAC1I63ekzBZc465j1AmEfvz2jNFh8myAxmYiOpHqYa7sNy2CmTGIW5RLdpRwxLFdy%2BLHV67W45YXWkYkjgrRQ%3D"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Vary: - - Accept-Encoding - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - etag: - - '"4f9d6e2f-46c3"' - last-modified: - - Sun, 29 Apr 2012 16:37:03 GMT - status: - code: 200 - message: OK -version: 1 diff --git a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml b/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml deleted file mode 100644 index 1fec411d6..000000000 --- a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml +++ /dev/null @@ -1,129 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/search?q=Breaking+Bad+S01E01 - response: - body: - string: !!binary | - H4sIAAAAAAAAAyxSvU4cMRB+lZErkJbTkTRoO1AiFJRIKBQUiGLWnuPm8HqW8fiiC+JhrqSgQHmE - fbHIvussfTPffD9+dUq5RMuuf3h1HFz/dblcXnTO2CK53l0p4TOnJ7jCACdflsuLU4CHu+X59+X5 - I5zBLUcx1znbTXWcJs4SyHUul3FE3bne3WM0Urhfs1EHpAglwQpHyQKctpSNnzCIwkuZP0b2AoHq - yKQN4jr3EwdRNFGuaIRrGZg0SQcvhQAhzB9Y19aygzVC5iCgFKkSAwKlTPMnKiDgNO+NvWSgbCUw - JqN8vPgjZWMrJkAJLuNQXgrpS6EF3KIiTBJIIVbWyrTiVPdGymA4Djy/JzCm1KhMccBNvT1SYISN - aMJQlVQ04hYDaXPqxa8pL+Ay0Djvcwfze4Qd5AKUJ8nYwd3zLpLCyWVKCNclpQ6+EYY/IuG0g5IQ - xrIhbVFkqv5XopvqvGESKBuCR9UaPtXz4GWcFM+2lKwFh2rzhy9RMkyiQFe462pC8z6BV8bUcjxU - 2cGNLuDk9+JmAb/YLFKTARvZUoskMHnOTEaA86fkDrykJuZJMcGqkP5tV7cSSzIMhxoP4U2o8z5y - 5gyelAbFCFHaQP0RTXBJldE4lVqzSV3CamuFI0fGBdzWdE0Ctp4xQ+AV+xINA2WYMHIgT6mmoRTR - 8/yvcQJFSIW2tZrsy6A8MiVrTR3c90edft4nT3q0BpNKmv9lO/7fIPngvdnkgAvXOR7D4HrnOjdJ - NtL6fnvsnIlhdP1552S1ymSuX779BwAA//8DAOpgiQCaAwAA - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743a65fbde532-ARI - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:42 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=fINpgSr6RpM33TGdh1m%2BF74xZy7MmkNtBwLKyP5cXcseIaB2FzprBhWzr3VG2jBUQR%2BBoMDNt2U51nL1BtJls0u13HhErbwC4j3mMevtJJlNJQ7BOq5kD9bVUrxVekFn24slQYBEMRQpFPyc"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/episode?id=30008 - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743aa4ff6e532-ARI - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:43 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6889nScfx6LNh5a9UuL4xYY7q%2F46Je690M1FC3gyzpHpFkd56IT%2B4tnMmn2I8CLaCc97OCGESa89i9lc4%2F48VHaCkseJxlb2XURNVbEprhTMeEccV4cikl8gVK35irBC%2FhEw4dw63QyW9%2FHI"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode_with_tvdb.yaml b/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode_with_tvdb.yaml deleted file mode 100644 index 5a6bb52d7..000000000 --- a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode_with_tvdb.yaml +++ /dev/null @@ -1,174 +0,0 @@ -interactions: - - request: - body: null - headers: - Accept: - - "*/*" - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/search?q=Severance+S01E01 - response: - body: - string: !!binary | - H4sIAAAAAAAAA3yQvWocQRCEX6XoyIaR2TsJy2xmLGMlcmCFQkHfTp93dLPTq+6ZOxahF3PqFzNr - jH8CGSrogiror57IxFuuTv3dE6VI/eb84vLtZaCaahbq6VaOYlwGwattt92+Bu5uu83HbnOPM3xS - jfgsJ8f7nbaKa8mZAtVlXqsyJ9coFMjbNLEt1NMN2wHiYB+kxBQVMxsjpyjGhlYgjy3NiqEt6jAZ - mlhUhwtGhssaj4rHluz7N/uaBp6kVIGUagJvqMY7flAsqzmmyJjFXAvnNxQoTXFHPVGgWb2Krfdz - +IXenXcXmz/oH9hrFnzR4bDCb979C/97mf8TX0uxBVfCR7EARhSu45npCVyrWpElYNCyNy3VMSZH - XDea2StOoxTwKi3LpM0xcM7IzWSNTtjxcEDVn7VRJ6l6KtA9/no94IZTkRfh7wNVrZyp3wbS/d6l - Ut89/wAAAP//AwBurbIoGgIAAA== - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6e0db09d7bdfe51e-ARI - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Mon, 21 Feb 2022 05:49:11 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=cx3Z59tbyYQ5rXEfX2FssZh1WPCFloUN9QX%2Bj0enSws3CCLaRPWdo9hH4vcDFE8NIoEgQuXnkROhPZUpfCZyagPBMgR54Q2rI%2FaXuilqP1o%2BYOS6KCwwS4qsA7qp6ffle7mcoBB27A56ETGB"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400 - status: - code: 200 - message: OK - - request: - body: null - headers: - Accept: - - "*/*" - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/episode?id=134767 - response: - body: - string: !!binary | - H4sIAAAAAAAAA7TVX2/bNhAA8K9CEHCfHIJ/RJESEAzu7CRA0y1ou/RhyANFnmwtMulSVJqsyBfb - a79YIW9esy6eJ2x+Egjc6Y768ahPuHG4ZCJTuZridOcqXPq+bae4A9MFj0s2xb5fVxBxiSnDU5ya - 1AIu8XkIDv0AHzs0q0Kf0AW0LZ7irl+vTXzAJX5t4i2CDpnOgneNC2hjokFt4yCaiHqP4EPfbAKy - /UPoUATbQ3ShQx2glUEdDOEuoA99Ez//FpeNNWvwCRD4FAF1PUrRVOaXgB6GxV3jDNpA7II3LcFT - HKEF00GHy58/4S700Q5tv1+8xFNsgwOLS3zB82zYE5g1LvGrH8+bYWWWHS6x4nQzbKj5dchjRKLz - ITWFGMGn31/bxwaXeG2WHlL53X067aMvq9SsSqdyygoJUNS2yKTmQjOtuSyyOq+tVTZzObhCvHD+ - 9C3cQTTeAnlL2YIyMpQm7xcvyYrn2cnQ1osUT1cpbSZiNuFnE36WorG3EMkfz7q5JzasJ2Km6YSf - Ge9D7y0Mab37mlWQaGK1JGuYiBlXBd0XkMI2QPwt4M+6q8ZDC5uV8YmEuJyIGeNK743v2vDRrgCS - We3CM5VT/HgzxdA2/nb4oDfD+am2J2y7fJz+S7nzy4uzr3KM6qd0GclG0Umpciut1TKXGaVOisJJ - ldW1lkZSavKKciUpfZZuW3trN3R4MjR2HDt+wE7vt6hNul0F05qdhBgLx/4TnNwHx1n+FE4TNQoO - lNBWUFooxQWjGStEJmlVA3OF1EZVVNJcAnsWblt7ByePB1ewQ0M3Bk7TkRMq/i+5q8X3P13O3i2+ - 0UMX8zdPbk1K6ChCrjNWVZw6q5yEXFR1XjsrClFklPOszjMhRa7qZwkv5m++Zdx1eRRKfWgGVb5f - x7TtBvyyb/wORyo2EvOYY4jm139xZKMcC8aoVqZyrla20oYLzitqjdWi0prxCsBoKPQ/jOLs3fXV - AHkyvyTz+ZUkjMzSOnRkfk1ev7om90cdUy0O3a/52H/dqKNw8Nd48/gFAAD//wMA0OOUr70JAAA= - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6e0db0a07fbbe51e-ARI - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Mon, 21 Feb 2022 05:49:11 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=g5d54GFqOV5jObpa5K3eUGRTqV2aiKnMhZPzvSi38fpQ%2FiL3hPjNbooaZAHsfoXbgF%2F8mF9rGm2vw%2BGqQdJM2tHpWIJ5Vhwxaoi4dMMhlc8%2FQAR5QLBIQpkR9FEUuXHu4uXE%2BerMI6g4ko%2FU"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400 - status: - code: 200 - message: OK - - request: - body: null - headers: - Accept: - - "*/*" - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/episode?id=103041 - response: - body: - string: !!binary | - H4sIAAAAAAAAAwAAAP//3JbZbqNIFIZfBZXkvnJwLdSGFI1YTKfb8e7YSUa5KKCIkW2IAGeZdt59 - hJ3FnUmmx9M3My0hIcQ5nP/89dUpvoE0BjaCBFqoCarbOAQ2YEgIC1qgCUqtyjwDNmqCbL0KdQFs - ABFogiqtlhrYYKxvdaGySNfB69VKFQ/ABic6Kx4MX6tbXTQNZcRaVfOjIr8zVFXlRaYfmkaUZ0mR - Z1VpzNPSiFWxMG5UWRl3c50Zqr7y7GGVr0sjUsulsVwXug5dGaGKFkaVb9Pm+UpX+V1m5InhqbJa - amOUR4um0VVppk3QBIVealXqEti/fwNlvi6iWvZMh6P0BjRBlMc6Aja4x6zut9JqBWwwccf1g7ou - gQ3qztI/6iwCodF16zd5Ueis2n10XaTABit1nenK/u2+Ol4XmR1W6dxWhOA4kVQKpAUmitI4JkrR - SCgrTqiQjLGIUPIpzo536s1avTmGqA2ROWu7o/TGrKUdTdzxp6o4nlfVTYM4DRw0cFAVKlrowny6 - J+m9GeWrBnEEbOBAZVm+ziJdp63j1yxpFqoIr82VbhAHcwQ/CqjypwDweNUEeplmi/2GdYwXdqu1 - SdKl3ryj/oWMt32Yq8XthkBiSYYJ2kCLe64LGZKBEMShGLoBEQFFnieDtsSb+XEQnHb8c6/rBN0p - 8y58TsmlyztjPBwPB4Ovk01rK7Fch1ss91XWhpV2q6WKa53Vq2tmumq9RLY44Uy29uU3sMAQiQaW - T50c7XWyxealky0/66wCtqBSiserx+a/ZIxjePPKmaCHcca4CkPEEFdRHDKZYEkQRJiRkFoxljKM - udQqSj7grC7+y8D2XjNb4oSE0LI4ZRuPusSVtG0R6VFGoY+4gyGUwpcWl4zWxE17zmzaHk4C96x3 - 2e1MnS51+nw0uOxMhw45fYe4gxa/2554/d7r+iMo9gHAJjI+HwCA1EqohKqEWoxKxRCFSKKY8yhG - HMEYScwEIvQDALbVn007r03b6fuPQHCY0SffGd2bhB/tMnbgLtMxp1HCsFYR0VDymCc6sghPokir - RCRKMsipZh+Y/AbRk7PTs2fLHcfDJjRr5Ue9Sfir2f4GbmRaB8GNRcRljBRFMaWMxRRSRCVnhElF - YSKYplYYIvVD33eY/8+Nd/2/myt+u+v0/H/67/Jzk3arZDdjd2V3BzumBGMk4MbhkGEOA4oxdSlG - 0GU+YQT6nGHp8mAzP+6zIe8P+m33xLPafTrgzmB2TqyL2dRzLzqO88Mx6y7XI/XwvR1074xtj7pp - zzl9NQQjts8iNdlfWPw5V7YFzLMT39xpqw2iR89CthYxiBCjEmGx8TDkAlvEgpbnMcykF3DkUzcg - qI25Wx9Fw8+zL50OHgwt6+K0Sy798dfxoEfOppezaX/8pfuuR1ePfwIAAP//AwAUxeXr2QsAAA== - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6e0db0aea83ce51e-ARI - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Mon, 21 Feb 2022 05:49:13 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=AdOHU5vn5DOJvLGv0lIJUFfzCd10UMoFR0Rw5PsWx9O0mFdhpyALZD4%2BAS020DGyUIebvektdDb4Yt5BGySvi9xEMeGdOPE48fqr3Xc%2Bw1auefrQ3GWmS9R9AALLnKa4VeSORN%2Fwpc3h5OSy"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml b/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml deleted file mode 100644 index 99d9a88bb..000000000 --- a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml +++ /dev/null @@ -1,366 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/search?q=Dune - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743805800751b-SCL - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:36 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Yn6t4SwaaAd9gFu7CdcUfuG7sL4OIk%2BUlzt%2FiSOj00efVFPV5%2Botf%2BLwl8egR0g5tIU8V33OlhnF9TKWWImtVl8yPo80jTtytM7ELcnayyMkjEyj%2BCgZMBN2ptAqHyimW3e%2FNkBpWaeaJVuP"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/movie?id=324 - response: - body: - string: !!binary | - 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 - AAA= - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743828b81751b-SCL - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:36 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6sWVI63HrWSWdlINe3fSYawBVQfavfKNksSfSbBSIW6Fh8YSxwqMlDHb5EP37r1WrL0w5i01ybpYeOJ1zG84rRBtfe6J1y550wu9PNeZbzB8vmwhwSHhXz19bBr23yYqCXR03wsghed1mTOt"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/movie?id=43318 - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743847e35751b-SCL - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:36 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=roopZ7rq4zoUh8HmwGGxVKeqTkLo4oTjKQais8ptS3gkHgwlMMTqBYkDaxwKTpKxO35BOLVkkmPEafRs1dWLLO9P10SkErIx04SdNuBn8mopoL858lvHHYUM75ZhPDx%2BO5k%2FJaAv%2Bm0dy3w5"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/movie?id=24827 - response: - body: - string: !!binary | - H4sIAAAAAAAAA2xUy24jRwz8FYLAAgnQGY3eowFysC07wK4c+JE1jGR9oLopqe2e7kk/BMiWP2aP - e9hDsJ+gHwt6lA1iIMdhNVnFGpIvqBXWg1E1mAqMOhrGGufJMvzQn1WjH1GgtiuH9csbNIcbtcQa - y7Ka9qsBCtwxeaxzlkBPUds11pNiLNAnG3XDWPeHU4FkIntLUW/5t38qokDpko1+hzV+vD1Bga0L - kT3WuImxDXWvR37NNjI1heXY8xxc8pJDT7ot+9DjwbCi6Wg64dFE9mdlSeVqsppNZqNyyVKq4rFd - o0ClPcvocuE5bbWCxc7KDQqkHA1Y44edYbgkuSC5MWQF3Gm/1lYTXJIKbAVceLKSgyQ4sVYHfBUY - UtNQp/7cAhtQHA5ffNTSQWvIciRQDCfe05MOAqSzTmrlIFKz1IcvFlrnIfsqwBB43rJnqwgaUp7h - hhoyxuW0x+QJkiXYan4kaL1bsTx8pRo+4R1b5Q+fgcw6abaZsUk7MPzoAuwgeuIMG4J1Yu8JAtlI - Iut9rzekBPyZGNrk9UpLyk/ZQLI6++tgB9YFCHREFIOhAFFbzUtDoSiKTwjH5j03Lr5p/MwZUtnL - BakdvOcQtCSRXXJLViyzBcp1FQ/fvGLLIaeFBBv2DVlFKn9LZyUvtYfgDDV5GmCjHykIIEnLjkmR - BwKTnoFMBh1syR++2a61kIAa1zWsUg4sODo4iZ614iAgko0uq2JaUvFGLITEh78ItJUmhe5XfC/Z - sVxRMmAMrxMDZXTLPmofGNhCstBwOHylkJ/YTAGtU+w5QHP4vNbS5aGglp4zlKz2WWPU3LTZeDbA - oSWpXVEUKNCzYQocsP7jBY97kOf5bn6j226VFMsc0Nt7FJh3Bmv81f1yc5U/aR2OKxf0c86bliVc - nmbEec825rIPAtlo+3SkSF5jjawGT3Wvt19pw/s8q8XxQhRH4iLT/TS8uCxoq/fTYTksq0lZ7c8m - 81l/Phyczaez8Ww2mFxUo+qkGs/Phxfz8WS03/x8ev/x98V4fDe8vDk9/XA7WNyMpvP76fXV9fvb - s/H1+b6Hrw95yZbdCfqvqP+/Dv++7PVn49Gk16l9N6iy3neD2RvF333pDhDW1XhY9V8fXh9e/wYA - AP//AwAQgSiXGgUAAA== - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743871ab0751b-SCL - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:37 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=f1%2FtVUaDLDW9XLjFghRHPaon1nuMq2Umv6OSR%2F5TGwYh2Pd4H1RGDiql3jFX05VN7oSywM%2FNyLKtDscx%2BXhXlHdLOmB%2BOILMvGUMfsjWE3wAXN%2BCOrR7ELOK%2F3tGj6Qk8jYjUX48q9NsD8j2"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://argenteam.net/api/v1/movie?id=132088 - response: - body: - string: !!binary | - H4sIAAAAAAAAAwAAAP//vFXbbtw2EP0VgsAGDqBoddvVBQiCTRzXaXNDcyta+GFEjrSMpaFCUls7 - gT8mj37uJ/jHCmrt2GnqpC7SPkkEz5yZOXM0+sCV5FWcJlFRBNwp1yGv+O5IWLHnYBx7Rsh2kiiJ - b/OAK2o0rz5cg/OAXta84nG8jLK45AE/RjC88vEBN+AUtbwqwjTgZiSneuRVvFgEHDqHhsCpDb48 - 5+YBF3okZ455xV+RcijZCwcObcAeAIGEgO2P1II5DthTbX6H44A9IqmAB3zQ1qHhFV87N9hqPgfT - IjmEPiR0c4NWj0agnQu9QWPnUV1ngM1yIdO0yNIijmpMlyLGZS5qLBfh26HlAZfKoHDaE+8iKcte - q65DwnHjmwd/ZXnFX6peu/XZKbIHa+igRxewn7FGIYDtoWlHqylgvyJJOAZ+EnA79j1Mja6MgUNl - A4YdGzogdMAkdkyiVWicDliDo9RMIuuANdCrTgHbB3OoiZA8TiJbg0DWIqEBoTR5yd6NKIEhsR5I - 2/P4B2BhetWWrZxBJdFf2WE8O50w70b0lWA/oAGpDROeBdjZqXXgGfBo6LQDoc7+oC2pZQYtmg1M - BGgHFAoCNhJc3Pfg0CiwbDCq9+ezj5ZtoFPawkVlLXRwpIAdMwd9rc5OactgdAtMwADvPRD6oVON - EmB8jNAkFJKYwvDIIUmcLjZKQsgedkyOvqHH6DTbeWZ92CMLIG4HHiWhB/YjWqsEsJ2/zuu25+zY - Wr3V28y1tgF7DmN3qdzOl4P31B22QAwuByo0TdpZryq9n4QxKEZ/ND6LQdJ9bdBf2JEJsBCwAY1m - g9HkNLPINmjOPhJD2ozYOW39bL1Ezvg+JPoXtZ2+L51auKftNNAOrS9qAxMBMDGidUoTmCmZpkZN - VSE54/OfTwimRqT2dODnpX21MJmnG1sweM9L4o97Bnuk7dA9txmmVtZQKwfkJpNdenrS4xxqUKyB - GezOLXVFKqEg5AE32CFYtLz67QPffsa84m8e3p8WhkTBK76fLDMecP+984o/XT168cofofVfZ55E - Aw+4Ve99YBYu2A8+1mljkNyWdzSKV7yHltBV947c3dFQVTu1rmqsJZZLKLK6iXOEJCuwWUaYyHxZ - Yp76S5HE2S1Jd/16DP3uC33O8M3D+6Gv7M5U0C1n7vrtNEtXs2Rvluw5A+IQTXj+bNRRKHQ/S1dF - NEv2gEiPJNCHjfIyqgwNmLoNe5ylqyTPo+sATntAkX4B+JR3rQg7HNZALtSmnaWrOMm/goeuG5Da - UdEFfJHnET85CDh2ig69lAd+udXT/+Kqsn+/lj8h58UyStL5pJ//u4TPCMNZUngtZ0n5SclJ1zsX - 851+F7wqFmkRnxycBP/OHnFUXPVHGRY38kdSJxLTqJG4hCRPiygSSdNETVbnUVkuyqxImqaM48/9 - MSX9PwxSZN8ySHSzgSc381MRfT+DZP/AIJOwN3fIUbJcXOuQJF5edUgS3XCF5NgUCdYLEZUC6xRl - Vogig2UTJ2VaJlG5gKxe5unnFpmyhvtPVr/47u7sPg53d58vwjhcuV7bcPd1+OSn16Ev/D+0T5l+ - wz754ob75Xr/NOAO1xo6uACnefz9zLP4unm8jlvJrzPPwcmfAAAA//8DAF+Mars8CwAA - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6b6743963ac0751b-SCL - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json;charset=UTF-8 - Date: - - Tue, 30 Nov 2021 21:45:39 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=OOTMjfi961ChESCSv1lx8pV7e4fOzfcUwY%2FGNUVjmQb7GZ5jDSRK51fRZwZlAxGzIXWonIGdvrRtnVF4dvJ%2FbANIAd0LPcbDR1w2JbzE8Z%2B%2BvHg7waks8MDGnggzHmjXyUTPHAySBa8Vo0DM"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - alt-svc: - - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; - ma=86400 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/subliminal_patch/test_argenteam.py b/tests/subliminal_patch/test_argenteam.py deleted file mode 100644 index 93e9cf6ac..000000000 --- a/tests/subliminal_patch/test_argenteam.py +++ /dev/null @@ -1,142 +0,0 @@ -# -*- coding: utf-8 -*- - -import pytest -import os -from subliminal_patch.providers.argenteam import ArgenteamProvider -from subliminal_patch.providers.argenteam import ArgenteamSubtitle -from subliminal_patch.core import Episode -from subzero.language import Language - - -@pytest.mark.parametrize( - "imdb_id,expected_id", [("tt0028950", 62790), ("tt0054407", 102006)] -) -def test_search_ids_movie(imdb_id, expected_id): - with ArgenteamProvider() as provider: - ids = provider._search_ids(imdb_id) - assert ids[0] == expected_id - - -def test_search_ids_tv_show(): - with ArgenteamProvider() as provider: - ids = provider._search_ids("tt0306414", season=1, episode=1) - assert ids[0] == 10075 - - -def test_parse_subtitles_episode(): - with ArgenteamProvider() as provider: - assert len(provider._parse_subtitles([10075])) > 1 - - -def test_parse_subtitles_movie(): - with ArgenteamProvider() as provider: - assert len(provider._parse_subtitles([61], is_episode=False)) > 3 - - -def test_get_matches_episode(episodes): - episode = episodes["breaking_bad_s01e01"] - subtitle = ArgenteamSubtitle( - Language.fromalpha2("es"), - None, - "https://argenteam.net/subtitles/24002/Breaking.Bad.%282008%29.S01E01-Pilot.BluRay.x264.720p-REWARD", - "Breaking.Bad.(2008).S01E01-Pilot.BluRay.x264.720p-REWARD\nBluRay x264 720p", - {"series", "title", "season", "episode", "imdb_id"}, - ) - matches = subtitle.get_matches(episode) - assert matches == { - "title", - "season", - "episode", - "imdb_id", - "source", - "video_codec", - "resolution", - "edition", - "streaming_service", - "release_group", - "series", - "year", - } - - -def test_get_matches_movie(movies): - movie = movies["dune"] - subtitle = ArgenteamSubtitle( - Language.fromalpha2("es"), - None, - "https://argenteam.net/subtitles/86024/Dune.Part.One.%282021%29.WEB.H264.1080p-NAISU", - "WEB H264 1080p", - {"title", "year", "imdb_id"}, - ) - matches = subtitle.get_matches(movie) - assert matches == { - "title", - "year", - "imdb_id", - "source", - "resolution", - "edition", - "video_codec", - "streaming_service", - } - - -def test_list_subtitles_movie(movies): - item = movies["dune"] - with ArgenteamProvider() as provider: - subtitles = provider.list_subtitles(item, {Language("spa", "MX")}) - - for expected in ( - "https://argenteam.net/subtitles/86023/Dune.Part.One.%282021%29.WEB.H264.720p-NAISU", - "https://argenteam.net/subtitles/86024/Dune.Part.One.%282021%29.WEB.H264.1080p-NAISU", - "https://argenteam.net/subtitles/86025/Dune.Part.One.%282021%29.WEB.x265.2160p-NAISU", - ): - assert any(expected == sub.download_link for sub in subtitles) - - -def test_list_subtitles_movie_no_imdb(movies): - item = movies["dune"] - item.imdb_id = None - with ArgenteamProvider() as provider: - assert not provider.list_subtitles(item, {Language("spa", "MX")}) - - -def test_list_subtitles_movie_not_found(movies): - item = movies["dune"] - item.imdb_id = "tt29318321832" - with ArgenteamProvider() as provider: - assert not provider.list_subtitles(item, {Language("spa", "MX")}) - - -def test_list_subtitles_episode(episodes): - item = episodes["breaking_bad_s01e01"] - with ArgenteamProvider() as provider: - subtitles = provider.list_subtitles(item, {Language("spa", "MX")}) - - for expected in ( - "https://argenteam.net/subtitles/24002/Breaking.Bad.%282008%29.S01E01-Pilot.BluRay.x264.720p-REWARD", - "https://argenteam.net/subtitles/23940/Breaking.Bad.%282008%29.S01E01-Pilot.DVDRip.XviD-ORPHEUS", - ): - assert any(expected == sub.download_link for sub in subtitles) - - -def test_list_subtitles_episode_no_imdb_id(episodes): - item = episodes["breaking_bad_s01e01"] - item.series_imdb_id = None - with ArgenteamProvider() as provider: - assert not provider.list_subtitles(item, {Language("spa", "MX")}) - - -def test_list_subtitles_episode_not_found(episodes): - item = episodes["breaking_bad_s01e01"] - item.series_imdb_id = "tt29318321832" - with ArgenteamProvider() as provider: - assert not provider.list_subtitles(item, {Language("spa", "MX")}) - - -def test_download_subtitle(episodes): - item = episodes["breaking_bad_s01e01"] - with ArgenteamProvider() as provider: - subtitles = provider.list_subtitles(item, {Language("spa", "MX")}) - provider.download_subtitle(subtitles[0]) - assert subtitles[0].is_valid() diff --git a/tests/subliminal_patch/test_core.py b/tests/subliminal_patch/test_core.py index fadf4e493..b4d283493 100644 --- a/tests/subliminal_patch/test_core.py +++ b/tests/subliminal_patch/test_core.py @@ -23,7 +23,7 @@ def test_scan_video_episode(tmpdir): @pytest.fixture def pool_instance(): - yield core.SZProviderPool({"argenteam"}, {}) + yield core.SZProviderPool({"subdivx"}, {}) def test_pool_update_w_nothing(pool_instance): @@ -33,43 +33,43 @@ def test_pool_update_w_nothing(pool_instance): def test_pool_update_w_multiple_providers(pool_instance): - assert pool_instance.providers == {"argenteam"} - pool_instance.update({"argenteam", "subdivx", "subf2m"}, {}, [], {}) - assert pool_instance.providers == {"argenteam", "subdivx", "subf2m"} + assert pool_instance.providers == {"subdivx"} + pool_instance.update({"subdivx", "subf2m"}, {}, [], {}) + assert pool_instance.providers == {"subdivx", "subf2m"} def test_pool_update_discarded_providers(pool_instance): - assert pool_instance.providers == {"argenteam"} + assert pool_instance.providers == {"subdivx"} # Provider was discarded internally - pool_instance.discarded_providers = {"argenteam"} + pool_instance.discarded_providers = {"subdivx"} - assert pool_instance.discarded_providers == {"argenteam"} + assert pool_instance.discarded_providers == {"subdivx"} # Provider is set to be used again - pool_instance.update({"subdivx", "argenteam"}, {}, [], {}) + pool_instance.update({"subdivx", "subf2m"}, {}, [], {}) - assert pool_instance.providers == {"argenteam", "subdivx"} + assert pool_instance.providers == {"subf2m", "subdivx"} # Provider should disappear from discarded providers assert pool_instance.discarded_providers == set() def test_pool_update_discarded_providers_2(pool_instance): - assert pool_instance.providers == {"argenteam"} - - # Provider was discarded internally - pool_instance.discarded_providers = {"argenteam"} - - assert pool_instance.discarded_providers == {"argenteam"} - - # Provider is not set to be used again - pool_instance.update({"subdivx"}, {}, [], {}) - assert pool_instance.providers == {"subdivx"} + # Provider was discarded internally + pool_instance.discarded_providers = {"subdivx"} + + assert pool_instance.discarded_providers == {"subdivx"} + + # Provider is not set to be used again + pool_instance.update({"subf2m"}, {}, [], {}) + + assert pool_instance.providers == {"subf2m"} + # Provider should not disappear from discarded providers - assert pool_instance.discarded_providers == {"argenteam"} + assert pool_instance.discarded_providers == {"subdivx"} def test_language_equals_init():