|
|
@ -82,6 +82,11 @@ class LyndaBaseIE(InfoExtractor):
|
|
|
|
expected=True)
|
|
|
|
expected=True)
|
|
|
|
raise ExtractorError('Unable to log in')
|
|
|
|
raise ExtractorError('Unable to log in')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _logout(self):
|
|
|
|
|
|
|
|
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'
|
|
|
@ -210,6 +215,8 @@ class LyndaCourseIE(LyndaBaseIE):
|
|
|
|
course_id, 'Downloading course JSON')
|
|
|
|
course_id, 'Downloading course JSON')
|
|
|
|
course_json = json.loads(page)
|
|
|
|
course_json = json.loads(page)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self._logout()
|
|
|
|
|
|
|
|
|
|
|
|
if 'Status' in course_json and course_json['Status'] == 'NotFound':
|
|
|
|
if 'Status' in course_json and course_json['Status'] == 'NotFound':
|
|
|
|
raise ExtractorError(
|
|
|
|
raise ExtractorError(
|
|
|
|
'Course %s does not exist' % course_id, expected=True)
|
|
|
|
'Course %s does not exist' % course_id, expected=True)
|
|
|
|