From ad226b1dc9763fd2840514e7636a9e16ecc31f9d Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 12 Sep 2021 21:34:45 +0530 Subject: [PATCH] [funimation] Fix for locations outside US Closes #868 Authored by: Jules-A, pukkandan --- yt_dlp/extractor/funimation.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/yt_dlp/extractor/funimation.py b/yt_dlp/extractor/funimation.py index 4d95f1c7c..584688484 100644 --- a/yt_dlp/extractor/funimation.py +++ b/yt_dlp/extractor/funimation.py @@ -302,12 +302,20 @@ class FunimationShowIE(FunimationIE): }, }] + def _real_initialize(self): + region = self._get_cookies('https://www.funimation.com').get('region') + self._region = region.value if region else try_get( + self._download_json( + 'https://geo-service.prd.funimationsvc.com/geo/v1/region/check', None, fatal=False, + note='Checking geo-location', errnote='Unable to fetch geo-location information'), + lambda x: x['region']) or 'US' + def _real_extract(self, url): base_url, locale, display_id = self._match_valid_url(url).groups() show_info = self._download_json( - 'https://title-api.prd.funimationsvc.com/v2/shows/%s?region=US&deviceType=web&locale=%s' - % (display_id, locale or 'en'), display_id) + 'https://title-api.prd.funimationsvc.com/v2/shows/%s?region=%s&deviceType=web&locale=%s' + % (display_id, self._region, locale or 'en'), display_id) items = self._download_json( 'https://prod-api-funimationnow.dadcdigital.com/api/funimation/episodes/?limit=99999&title_id=%s' % show_info.get('id'), display_id).get('items')