aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/fancode.py
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2022-03-22 00:48:28 +0800
committerJesús <heckyel@hyperbola.info>2022-03-22 00:48:28 +0800
commit7a74bc5d1e54299e51b73492e09c70da994f4b35 (patch)
treee59a64b5b386d2381906e99912153aabd5d4ab0d /yt_dlp/extractor/fancode.py
parent3c69360ec3cb4a951d7e37150c7cfae8a0491cd2 (diff)
parent84842aee2ba8dc50601c86dc6fbb12d0fa438449 (diff)
downloadhypervideo-pre-7a74bc5d1e54299e51b73492e09c70da994f4b35.tar.lz
hypervideo-pre-7a74bc5d1e54299e51b73492e09c70da994f4b35.tar.xz
hypervideo-pre-7a74bc5d1e54299e51b73492e09c70da994f4b35.zip
updated from upstream | 22/03/2022 at 00:48
Diffstat (limited to 'yt_dlp/extractor/fancode.py')
-rw-r--r--yt_dlp/extractor/fancode.py38
1 files changed, 17 insertions, 21 deletions
diff --git a/yt_dlp/extractor/fancode.py b/yt_dlp/extractor/fancode.py
index 978df31ff..7ea16c61d 100644
--- a/yt_dlp/extractor/fancode.py
+++ b/yt_dlp/extractor/fancode.py
@@ -49,30 +49,26 @@ class FancodeVodIE(InfoExtractor):
'referer': 'https://fancode.com',
}
- def _login(self):
+ def _perform_login(self, username, password):
# Access tokens are shortlived, so get them using the refresh token.
- username, password = self._get_login_info()
- if username == 'refresh' and password is not None:
- self.report_login()
- data = '''{
- "query":"mutation RefreshToken($refreshToken: String\\u0021) { refreshToken(refreshToken: $refreshToken) { accessToken }}",
- "variables":{
- "refreshToken":"%s"
- },
- "operationName":"RefreshToken"
- }''' % password
-
- token_json = self.download_gql('refresh token', data, "Getting the Access token")
- self._ACCESS_TOKEN = try_get(token_json, lambda x: x['data']['refreshToken']['accessToken'])
- if self._ACCESS_TOKEN is None:
- self.report_warning('Failed to get Access token')
- else:
- self.headers.update({'Authorization': 'Bearer %s' % self._ACCESS_TOKEN})
- elif username is not None:
+ if username != 'refresh':
self.report_warning(f'Login using username and password is not currently supported. {self._LOGIN_HINT}')
- def _real_initialize(self):
- self._login()
+ self.report_login()
+ data = '''{
+ "query":"mutation RefreshToken($refreshToken: String\\u0021) { refreshToken(refreshToken: $refreshToken) { accessToken }}",
+ "variables":{
+ "refreshToken":"%s"
+ },
+ "operationName":"RefreshToken"
+ }''' % password
+
+ token_json = self.download_gql('refresh token', data, "Getting the Access token")
+ self._ACCESS_TOKEN = try_get(token_json, lambda x: x['data']['refreshToken']['accessToken'])
+ if self._ACCESS_TOKEN is None:
+ self.report_warning('Failed to get Access token')
+ else:
+ self.headers.update({'Authorization': 'Bearer %s' % self._ACCESS_TOKEN})
def _check_login_required(self, is_available, is_premium):
msg = None