|
|
@ -136,11 +136,15 @@ class AbemaTVBaseIE(InfoExtractor):
|
|
|
|
if self._USERTOKEN:
|
|
|
|
if self._USERTOKEN:
|
|
|
|
return self._USERTOKEN
|
|
|
|
return self._USERTOKEN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_opener(self._downloader, AbemaLicenseHandler(self))
|
|
|
|
|
|
|
|
|
|
|
|
username, _ = self._get_login_info()
|
|
|
|
username, _ = self._get_login_info()
|
|
|
|
AbemaTVBaseIE._USERTOKEN = username and self.cache.load(self._NETRC_MACHINE, username)
|
|
|
|
auth_cache = username and self.cache.load(self._NETRC_MACHINE, username, min_ver='2024.01.19')
|
|
|
|
|
|
|
|
AbemaTVBaseIE._USERTOKEN = auth_cache and auth_cache.get('usertoken')
|
|
|
|
if AbemaTVBaseIE._USERTOKEN:
|
|
|
|
if AbemaTVBaseIE._USERTOKEN:
|
|
|
|
# try authentication with locally stored token
|
|
|
|
# try authentication with locally stored token
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
|
|
|
|
AbemaTVBaseIE._DEVICE_ID = auth_cache.get('device_id')
|
|
|
|
self._get_media_token(True)
|
|
|
|
self._get_media_token(True)
|
|
|
|
return
|
|
|
|
return
|
|
|
|
except ExtractorError as e:
|
|
|
|
except ExtractorError as e:
|
|
|
@ -159,7 +163,6 @@ class AbemaTVBaseIE(InfoExtractor):
|
|
|
|
})
|
|
|
|
})
|
|
|
|
AbemaTVBaseIE._USERTOKEN = user_data['token']
|
|
|
|
AbemaTVBaseIE._USERTOKEN = user_data['token']
|
|
|
|
|
|
|
|
|
|
|
|
add_opener(self._downloader, AbemaLicenseHandler(self))
|
|
|
|
|
|
|
|
return self._USERTOKEN
|
|
|
|
return self._USERTOKEN
|
|
|
|
|
|
|
|
|
|
|
|
def _get_media_token(self, invalidate=False, to_show=True):
|
|
|
|
def _get_media_token(self, invalidate=False, to_show=True):
|
|
|
@ -255,7 +258,7 @@ class AbemaTVIE(AbemaTVBaseIE):
|
|
|
|
|
|
|
|
|
|
|
|
def _perform_login(self, username, password):
|
|
|
|
def _perform_login(self, username, password):
|
|
|
|
self._get_device_token()
|
|
|
|
self._get_device_token()
|
|
|
|
if self.cache.load(self._NETRC_MACHINE, username) and self._get_media_token():
|
|
|
|
if self.cache.load(self._NETRC_MACHINE, username, min_ver='2024.01.19') and self._get_media_token():
|
|
|
|
self.write_debug('Skipping logging in')
|
|
|
|
self.write_debug('Skipping logging in')
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
@ -278,7 +281,11 @@ class AbemaTVIE(AbemaTVBaseIE):
|
|
|
|
|
|
|
|
|
|
|
|
AbemaTVBaseIE._USERTOKEN = login_response['token']
|
|
|
|
AbemaTVBaseIE._USERTOKEN = login_response['token']
|
|
|
|
self._get_media_token(True)
|
|
|
|
self._get_media_token(True)
|
|
|
|
self.cache.store(self._NETRC_MACHINE, username, AbemaTVBaseIE._USERTOKEN)
|
|
|
|
auth_cache = {
|
|
|
|
|
|
|
|
'device_id': AbemaTVBaseIE._DEVICE_ID,
|
|
|
|
|
|
|
|
'usertoken': AbemaTVBaseIE._USERTOKEN,
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
self.cache.store(self._NETRC_MACHINE, username, auth_cache)
|
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
def _real_extract(self, url):
|
|
|
|
# starting download using infojson from this extractor is undefined behavior,
|
|
|
|
# starting download using infojson from this extractor is undefined behavior,
|
|
|
|