|
|
@ -260,9 +260,24 @@ class LyndaCourseIE(LyndaBaseIE): |
|
|
|
course_path = mobj.group('coursepath') |
|
|
|
course_id = mobj.group('courseid') |
|
|
|
|
|
|
|
item_template = 'https://www.lynda.com/%s/%%s-4.html' % course_path |
|
|
|
|
|
|
|
course = self._download_json( |
|
|
|
'https://www.lynda.com/ajax/player?courseId=%s&type=course' % course_id, |
|
|
|
course_id, 'Downloading course JSON') |
|
|
|
course_id, 'Downloading course JSON', fatal=False) |
|
|
|
|
|
|
|
if not course: |
|
|
|
webpage = self._download_webpage(url, course_id) |
|
|
|
entries = [ |
|
|
|
self.url_result( |
|
|
|
item_template % video_id, ie=LyndaIE.ie_key(), |
|
|
|
video_id=video_id) |
|
|
|
for video_id in re.findall( |
|
|
|
r'data-video-id=["\'](\d+)', webpage)] |
|
|
|
return self.playlist_result( |
|
|
|
entries, course_id, |
|
|
|
self._og_search_title(webpage, fatal=False), |
|
|
|
self._og_search_description(webpage)) |
|
|
|
|
|
|
|
if course.get('Status') == 'NotFound': |
|
|
|
raise ExtractorError( |
|
|
@ -283,7 +298,7 @@ class LyndaCourseIE(LyndaBaseIE): |
|
|
|
if video_id: |
|
|
|
entries.append({ |
|
|
|
'_type': 'url_transparent', |
|
|
|
'url': 'https://www.lynda.com/%s/%s-4.html' % (course_path, video_id), |
|
|
|
'url': item_template % video_id, |
|
|
|
'ie_key': LyndaIE.ie_key(), |
|
|
|
'chapter': chapter.get('Title'), |
|
|
|
'chapter_number': int_or_none(chapter.get('ChapterIndex')), |
|
|
|