mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 08:35:12 +00:00 
			
		
		
		
	[lynda] Make login more robust
This commit is contained in:
		@@ -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')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user