diff options
author | Sergey M․ <dstftw@gmail.com> | 2018-07-03 02:47:09 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2018-07-03 02:47:09 +0700 |
commit | 5621c3222eaab29d5ca705c8dac2d0bc1eb785d6 (patch) | |
tree | 22257c696fd41100dec375dd2465604b0336931f /youtube_dl | |
parent | db5debf313bd2ab99016f2c5b389dbf9ffae3dfb (diff) |
[lynda] Simplify login and improve error capturing (#16891)
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/extractor/lynda.py | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/youtube_dl/extractor/lynda.py b/youtube_dl/extractor/lynda.py index f5c7abc13..1316cddb6 100644 --- a/youtube_dl/extractor/lynda.py +++ b/youtube_dl/extractor/lynda.py @@ -44,21 +44,15 @@ class LyndaBaseIE(InfoExtractor): form_data = self._hidden_inputs(form_html) form_data.update(extra_form_data) - try: - response = self._download_json( - action_url, None, note, - data=urlencode_postdata(form_data), - headers={ - 'Referer': referrer_url, - 'X-Requested-With': 'XMLHttpRequest', - }) - except ExtractorError as e: - if isinstance(e.cause, compat_HTTPError) and e.cause.code == 500: - response = self._parse_json(e.cause.read().decode('utf-8'), None) - self._check_error(response, ('email', 'password')) - raise - - self._check_error(response, 'ErrorMessage') + response = self._download_json( + action_url, None, note, + data=urlencode_postdata(form_data), + headers={ + 'Referer': referrer_url, + 'X-Requested-With': 'XMLHttpRequest', + }, expected_status=(418, 500, )) + + self._check_error(response, ('email', 'password', 'ErrorMessage')) return response, action_url |