[funimation] Fix for locations outside US

Closes #868
Authored by: Jules-A, pukkandan
This commit is contained in:
pukkandan 2021-09-12 21:34:45 +05:30
parent ca46b94134
commit ad226b1dc9
No known key found for this signature in database
GPG Key ID: 0F00D95A001F4698

View File

@ -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): def _real_extract(self, url):
base_url, locale, display_id = self._match_valid_url(url).groups() base_url, locale, display_id = self._match_valid_url(url).groups()
show_info = self._download_json( show_info = self._download_json(
'https://title-api.prd.funimationsvc.com/v2/shows/%s?region=US&deviceType=web&locale=%s' 'https://title-api.prd.funimationsvc.com/v2/shows/%s?region=%s&deviceType=web&locale=%s'
% (display_id, locale or 'en'), display_id) % (display_id, self._region, locale or 'en'), display_id)
items = self._download_json( items = self._download_json(
'https://prod-api-funimationnow.dadcdigital.com/api/funimation/episodes/?limit=99999&title_id=%s' 'https://prod-api-funimationnow.dadcdigital.com/api/funimation/episodes/?limit=99999&title_id=%s'
% show_info.get('id'), display_id).get('items') % show_info.get('id'), display_id).get('items')