diff options
| author | Sergey M․ <dstftw@gmail.com> | 2015-06-20 00:49:28 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-06-20 00:49:28 +0600 | 
| commit | 16d6973f8a9eb5a70c12d82aa40f57c2b4aa8c6f (patch) | |
| tree | f13568c3065b52cb81373a454741c0719cf5fdd5 /youtube_dl/extractor/viki.py | |
| parent | edcd2d665bf7fce29a561478549ec4e795c367ce (diff) | |
[viki] Pass session token around (#6005)
Diffstat (limited to 'youtube_dl/extractor/viki.py')
| -rw-r--r-- | youtube_dl/extractor/viki.py | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/youtube_dl/extractor/viki.py b/youtube_dl/extractor/viki.py index 52d10d242..51cdc6b65 100644 --- a/youtube_dl/extractor/viki.py +++ b/youtube_dl/extractor/viki.py @@ -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 @@ class VikiBaseIE(InfoExtractor):              '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' | 
