|
|
@ -17,7 +17,6 @@ from ..utils import ( |
|
|
|
|
|
|
|
class LyndaBaseIE(InfoExtractor): |
|
|
|
_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.' |
|
|
|
_NETRC_MACHINE = 'lynda' |
|
|
|
|
|
|
@ -41,7 +40,7 @@ class LyndaBaseIE(InfoExtractor): |
|
|
|
request, None, 'Logging in as %s' % username) |
|
|
|
|
|
|
|
# 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: |
|
|
|
response = m.group('json') |
|
|
|
response_json = json.loads(response) |
|
|
@ -70,7 +69,7 @@ class LyndaBaseIE(InfoExtractor): |
|
|
|
request, None, |
|
|
|
'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') |
|
|
|
|
|
|
|
|
|
|
|