aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2018-07-03 02:47:09 +0700
committerSergey M․ <dstftw@gmail.com>2018-07-03 02:47:09 +0700
commit5621c3222eaab29d5ca705c8dac2d0bc1eb785d6 (patch)
tree22257c696fd41100dec375dd2465604b0336931f
parentdb5debf313bd2ab99016f2c5b389dbf9ffae3dfb (diff)
downloadyoutube-dl-5621c3222eaab29d5ca705c8dac2d0bc1eb785d6.tar.xz
[lynda] Simplify login and improve error capturing (#16891)
-rw-r--r--youtube_dl/extractor/lynda.py24
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