mirror of
https://github.com/ytdl-org/youtube-dl
synced 2024-11-06 02:18:01 +09:00
[lynda] Make login more robust
This commit is contained in:
parent
8a5601e42f
commit
5b7dab2dd6
@ -17,7 +17,6 @@ from ..utils import (
|
|||||||
|
|
||||||
class LyndaBaseIE(InfoExtractor):
|
class LyndaBaseIE(InfoExtractor):
|
||||||
_LOGIN_URL = 'https://www.lynda.com/login/login.aspx'
|
_LOGIN_URL = 'https://www.lynda.com/login/login.aspx'
|
||||||
_SUCCESSFUL_LOGIN_REGEX = r'isLoggedIn\s*:\s*true'
|
|
||||||
_ACCOUNT_CREDENTIALS_HINT = 'Use --username and --password options to provide lynda.com account credentials.'
|
_ACCOUNT_CREDENTIALS_HINT = 'Use --username and --password options to provide lynda.com account credentials.'
|
||||||
_NETRC_MACHINE = 'lynda'
|
_NETRC_MACHINE = 'lynda'
|
||||||
|
|
||||||
@ -41,7 +40,7 @@ class LyndaBaseIE(InfoExtractor):
|
|||||||
request, None, 'Logging in as %s' % username)
|
request, None, 'Logging in as %s' % username)
|
||||||
|
|
||||||
# Not (yet) logged in
|
# Not (yet) logged in
|
||||||
m = re.search(r'loginResultJson = \'(?P<json>[^\']+)\';', login_page)
|
m = re.search(r'loginResultJson\s*=\s*\'(?P<json>[^\']+)\';', login_page)
|
||||||
if m is not None:
|
if m is not None:
|
||||||
response = m.group('json')
|
response = m.group('json')
|
||||||
response_json = json.loads(response)
|
response_json = json.loads(response)
|
||||||
@ -70,7 +69,7 @@ class LyndaBaseIE(InfoExtractor):
|
|||||||
request, None,
|
request, None,
|
||||||
'Confirming log in and log out from another device')
|
'Confirming log in and log out from another device')
|
||||||
|
|
||||||
if re.search(self._SUCCESSFUL_LOGIN_REGEX, login_page) is None:
|
if all(not re.search(p, login_page) for p in ('isLoggedIn\s*:\s*true', r'logout\.aspx', r'>Log out<')):
|
||||||
raise ExtractorError('Unable to log in')
|
raise ExtractorError('Unable to log in')
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user