from .common import InfoExtractor
from ..compat import (
- compat_HTTPError,
compat_kwargs,
compat_parse_qs,
compat_str,
_USHER_BASE = 'https://usher.ttvnw.net'
_LOGIN_FORM_URL = 'https://www.twitch.tv/login'
_LOGIN_POST_URL = 'https://passport.twitch.tv/login'
- _CLIENT_ID = 'jzkbprff40iqj646a697cyrvl0zt2m6'
+ _CLIENT_ID = 'kimne78kx3ncx6brgo4mv6wki5h1ko'
_NETRC_MACHINE = 'twitch'
def _handle_error(self, response):
headers = {
'Referer': page_url,
'Origin': page_url,
- 'Content-Type': 'text/plain;charset=UTF-8'
+ 'Content-Type': 'text/plain;charset=UTF-8',
}
- try:
- response = self._download_json(
- post_url, None, note,
- data=json.dumps(form).encode(),
- headers=headers)
- except ExtractorError as e:
- if isinstance(e.cause, compat_HTTPError) and e.cause.code == 400:
- response = self._parse_json(
- e.cause.read().decode('utf-8'), None)
- fail(response.get('error_description') or response.get('error_code'))
- raise
+ response = self._download_json(
+ post_url, None, note, data=json.dumps(form).encode(),
+ headers=headers, expected_status=400)
+ error = response.get('error_description') or response.get('error_code')
+ if error:
+ fail(error)
if 'Authenticated successfully' in response.get('message', ''):
return None, None