From 32123fe2172a3365d5771151aee0a7b1c5ce013e Mon Sep 17 00:00:00 2001 From: Arthur Williams Date: Sat, 12 Aug 2023 16:40:21 -0700 Subject: [PATCH] crunchyroll_anime: harden add series url regex --- amt/servers/crunchyroll.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/amt/servers/crunchyroll.py b/amt/servers/crunchyroll.py index b29788a1..ebfca545 100644 --- a/amt/servers/crunchyroll.py +++ b/amt/servers/crunchyroll.py @@ -184,7 +184,7 @@ class CrunchyrollAnime(GenericCrunchyrollServer): need_cloud_scraper = True stream_url_regex = re.compile(r"crunchyroll.\w+/watch/(\w*)/.+") - add_series_url_regex = re.compile(r"crunchyroll.\w+/series/(\w*)/([A-z-]*)") + add_series_url_regex = re.compile(r"crunchyroll.\w+/series/(\w*)") version = 2 @@ -243,7 +243,7 @@ def get_params(self): def get_media_list(self, **kwargs): return self.search_for_media(None, **kwargs) - def get_media_data_for_series(self, media_id, media_title): + def get_media_data_for_series(self, media_id): season_url = f"{self.get_api_domain()}/content/v2/cms/series/{media_id}/seasons" season_data = self.session_get_cache_json(f"{season_url}", key=season_url, need_auth_headers=True) media_list = [] @@ -260,7 +260,7 @@ def search_for_media(self, term, limit=None, **kwargs): if media_info["type"] != "series": continue for media_item in media_info["items"]: - media_list.extend(self.get_media_data_for_series(media_item['id'], media_item["title"])) + media_list.extend(self.get_media_data_for_series(media_item['id'])) if limit and len(media_list) > limit: break return media_list @@ -268,7 +268,7 @@ def search_for_media(self, term, limit=None, **kwargs): def get_all_media_data_from_url(self, url): match = self.add_series_url_regex.search(url) if match: - return self.get_media_data_for_series(match.group(1), match.group(2)) + return self.get_media_data_for_series(match.group(1)) media_id = self.get_chapter_id_for_url(url) bucket, params = self.get_params() query = urlencode(params)