mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-12-13 16:57:28 +00:00
[lynda] Skip login if already logged in
This commit is contained in:
parent
bdf16f8140
commit
3841256c2c
@ -71,6 +71,11 @@ class LyndaBaseIE(InfoExtractor):
|
|||||||
signin_page = self._download_webpage(
|
signin_page = self._download_webpage(
|
||||||
self._SIGNIN_URL, None, 'Downloading signin page')
|
self._SIGNIN_URL, None, 'Downloading signin page')
|
||||||
|
|
||||||
|
# Already logged in
|
||||||
|
if any(re.search(p, signin_page) for p in (
|
||||||
|
'isLoggedIn\s*:\s*true', r'logout\.aspx', r'>Log out<')):
|
||||||
|
return
|
||||||
|
|
||||||
# Step 2: submit email
|
# Step 2: submit email
|
||||||
signin_form = self._search_regex(
|
signin_form = self._search_regex(
|
||||||
r'(?s)(<form[^>]+data-form-name=["\']signin["\'][^>]*>.+?</form>)',
|
r'(?s)(<form[^>]+data-form-name=["\']signin["\'][^>]*>.+?</form>)',
|
||||||
@ -85,15 +90,6 @@ class LyndaBaseIE(InfoExtractor):
|
|||||||
password_form, self._USER_URL, {'email': username, 'password': password},
|
password_form, self._USER_URL, {'email': username, 'password': password},
|
||||||
'Submitting password', signin_url)
|
'Submitting password', signin_url)
|
||||||
|
|
||||||
def _logout(self):
|
|
||||||
username, _ = self._get_login_info()
|
|
||||||
if username is None:
|
|
||||||
return
|
|
||||||
|
|
||||||
self._download_webpage(
|
|
||||||
'http://www.lynda.com/ajax/logout.aspx', None,
|
|
||||||
'Logging out', 'Unable to log out', fatal=False)
|
|
||||||
|
|
||||||
|
|
||||||
class LyndaIE(LyndaBaseIE):
|
class LyndaIE(LyndaBaseIE):
|
||||||
IE_NAME = 'lynda'
|
IE_NAME = 'lynda'
|
||||||
@ -217,8 +213,6 @@ class LyndaCourseIE(LyndaBaseIE):
|
|||||||
'http://www.lynda.com/ajax/player?courseId=%s&type=course' % course_id,
|
'http://www.lynda.com/ajax/player?courseId=%s&type=course' % course_id,
|
||||||
course_id, 'Downloading course JSON')
|
course_id, 'Downloading course JSON')
|
||||||
|
|
||||||
self._logout()
|
|
||||||
|
|
||||||
if course.get('Status') == 'NotFound':
|
if course.get('Status') == 'NotFound':
|
||||||
raise ExtractorError(
|
raise ExtractorError(
|
||||||
'Course %s does not exist' % course_id, expected=True)
|
'Course %s does not exist' % course_id, expected=True)
|
||||||
|
Loading…
Reference in New Issue
Block a user