diff options
author | Aakash Gajjar <skyqutip@gmail.com> | 2020-08-26 20:22:32 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-26 20:22:32 +0530 |
commit | 19a107f21c7544b5e49a58040d09d9465f6858b1 (patch) | |
tree | 8325ffd206d9da1ce53f24b9ab4690abe175144d /youtube_dl/extractor/cbc.py | |
parent | 7f7edf837c1af059f64a4968b942a83f86cf6206 (diff) | |
download | hypervideo-pre-19a107f21c7544b5e49a58040d09d9465f6858b1.tar.lz hypervideo-pre-19a107f21c7544b5e49a58040d09d9465f6858b1.tar.xz hypervideo-pre-19a107f21c7544b5e49a58040d09d9465f6858b1.zip |
Revert "pull changes from remote master (#190)" (#193)
This reverts commit b827ee921fe510a8730a9fab070148ed2b8279b5.
Diffstat (limited to 'youtube_dl/extractor/cbc.py')
-rw-r--r-- | youtube_dl/extractor/cbc.py | 48 |
1 files changed, 4 insertions, 44 deletions
diff --git a/youtube_dl/extractor/cbc.py b/youtube_dl/extractor/cbc.py index fd5ec6033..751a3a8f2 100644 --- a/youtube_dl/extractor/cbc.py +++ b/youtube_dl/extractor/cbc.py @@ -1,10 +1,8 @@ # coding: utf-8 from __future__ import unicode_literals -import hashlib import json import re -from xml.sax.saxutils import escape from .common import InfoExtractor from ..compat import ( @@ -218,29 +216,6 @@ class CBCWatchBaseIE(InfoExtractor): 'clearleap': 'http://www.clearleap.com/namespace/clearleap/1.0/', } _GEO_COUNTRIES = ['CA'] - _LOGIN_URL = 'https://api.loginradius.com/identity/v2/auth/login' - _TOKEN_URL = 'https://cloud-api.loginradius.com/sso/jwt/api/token' - _API_KEY = '3f4beddd-2061-49b0-ae80-6f1f2ed65b37' - _NETRC_MACHINE = 'cbcwatch' - - def _signature(self, email, password): - data = json.dumps({ - 'email': email, - 'password': password, - }).encode() - headers = {'content-type': 'application/json'} - query = {'apikey': self._API_KEY} - resp = self._download_json(self._LOGIN_URL, None, data=data, headers=headers, query=query) - access_token = resp['access_token'] - - # token - query = { - 'access_token': access_token, - 'apikey': self._API_KEY, - 'jwtapp': 'jwt', - } - resp = self._download_json(self._TOKEN_URL, None, headers=headers, query=query) - return resp['signature'] def _call_api(self, path, video_id): url = path if path.startswith('http') else self._API_BASE_URL + path @@ -264,8 +239,7 @@ class CBCWatchBaseIE(InfoExtractor): def _real_initialize(self): if self._valid_device_token(): return - device = self._downloader.cache.load( - 'cbcwatch', self._cache_device_key()) or {} + device = self._downloader.cache.load('cbcwatch', 'device') or {} self._device_id, self._device_token = device.get('id'), device.get('token') if self._valid_device_token(): return @@ -274,30 +248,16 @@ class CBCWatchBaseIE(InfoExtractor): def _valid_device_token(self): return self._device_id and self._device_token - def _cache_device_key(self): - email, _ = self._get_login_info() - return '%s_device' % hashlib.sha256(email.encode()).hexdigest() if email else 'device' - def _register_device(self): + self._device_id = self._device_token = None result = self._download_xml( self._API_BASE_URL + 'device/register', None, 'Acquiring device token', data=b'<device><type>web</type></device>') self._device_id = xpath_text(result, 'deviceId', fatal=True) - email, password = self._get_login_info() - if email and password: - signature = self._signature(email, password) - data = '<login><token>{0}</token><device><deviceId>{1}</deviceId><type>web</type></device></login>'.format( - escape(signature), escape(self._device_id)).encode() - url = self._API_BASE_URL + 'device/login' - result = self._download_xml( - url, None, data=data, - headers={'content-type': 'application/xml'}) - self._device_token = xpath_text(result, 'token', fatal=True) - else: - self._device_token = xpath_text(result, 'deviceToken', fatal=True) + self._device_token = xpath_text(result, 'deviceToken', fatal=True) self._downloader.cache.store( - 'cbcwatch', self._cache_device_key(), { + 'cbcwatch', 'device', { 'id': self._device_id, 'token': self._device_token, }) |