mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-27 03:03:01 +00:00
[viki] Pass session token around (#6005)
This commit is contained in:
parent
edcd2d665b
commit
16d6973f8a
1 changed files with 9 additions and 1 deletions
|
@ -28,11 +28,15 @@ class VikiBaseIE(InfoExtractor):
|
|||
|
||||
_NETRC_MACHINE = 'viki'
|
||||
|
||||
_token = None
|
||||
|
||||
def _prepare_call(self, path, timestamp=None, post_data=None):
|
||||
path += '?' if '?' not in path else '&'
|
||||
if not timestamp:
|
||||
timestamp = int(time.time())
|
||||
query = self._API_QUERY_TEMPLATE % (path, self._APP, timestamp)
|
||||
if self._token:
|
||||
query += '&token=%s' % self._token
|
||||
sig = hmac.new(
|
||||
self._APP_SECRET.encode('ascii'),
|
||||
query.encode('ascii'),
|
||||
|
@ -76,10 +80,14 @@ def _login(self):
|
|||
'password': password,
|
||||
}
|
||||
|
||||
self._call_api(
|
||||
login = self._call_api(
|
||||
'sessions.json', None,
|
||||
'Logging in as %s' % username, post_data=login_form)
|
||||
|
||||
self._token = login.get('token')
|
||||
if not self._token:
|
||||
self.report_warning('Unable to get session token, login has probably failed')
|
||||
|
||||
|
||||
class VikiIE(VikiBaseIE):
|
||||
IE_NAME = 'viki'
|
||||
|
|
Loading…
Reference in a new issue