X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Flynda.py;h=762cefa34ec35aa172102a5bbe9f78c129bdef92;hb=753fad4adc32b57a0d18518fddd06d2411d09635;hp=33f34f4e9bdda2aa034dd4f46ef3299478f181ec;hpb=136db7881b4ed820182697f0f5bd7c114aa70f46;p=youtube-dl diff --git a/youtube_dl/extractor/lynda.py b/youtube_dl/extractor/lynda.py index 33f34f4e9..762cefa34 100644 --- a/youtube_dl/extractor/lynda.py +++ b/youtube_dl/extractor/lynda.py @@ -5,12 +5,14 @@ import json from .subtitles import SubtitlesInfoExtractor from .common import InfoExtractor -from ..utils import ( +from ..compat import ( + compat_str, compat_urllib_parse, compat_urllib_request, +) +from ..utils import ( ExtractorError, int_or_none, - compat_str, ) @@ -45,7 +47,7 @@ class LyndaIE(SubtitlesInfoExtractor): video_id = mobj.group(1) page = self._download_webpage('http://www.lynda.com/ajax/player?videoId=%s&type=video' % video_id, video_id, - 'Downloading video JSON') + 'Downloading video JSON') video_json = json.loads(page) if 'Status' in video_json: @@ -83,6 +85,7 @@ class LyndaIE(SubtitlesInfoExtractor): } for format_id, video_url in prioritized_streams['0'].items() ]) + self._check_formats(formats, video_id) self._sort_formats(formats) if self._downloader.params.get('listsubtitles', False): @@ -109,7 +112,7 @@ class LyndaIE(SubtitlesInfoExtractor): 'password': password, 'remember': 'false', 'stayPut': 'false' - } + } request = compat_urllib_request.Request(self._LOGIN_URL, compat_urllib_parse.urlencode(login_form)) login_page = self._download_webpage(request, None, 'Logging in as %s' % username) @@ -117,7 +120,7 @@ class LyndaIE(SubtitlesInfoExtractor): m = re.search(r'loginResultJson = \'(?P[^\']+)\';', login_page) if m is not None: response = m.group('json') - response_json = json.loads(response) + response_json = json.loads(response) state = response_json['state'] if state == 'notlogged': @@ -187,7 +190,7 @@ class LyndaCourseIE(InfoExtractor): mobj = re.match(self._VALID_URL, url) course_path = mobj.group('coursepath') course_id = mobj.group('courseid') - + page = self._download_webpage('http://www.lynda.com/ajax/player?courseId=%s&type=course' % course_id, course_id, 'Downloading course JSON') course_json = json.loads(page) @@ -221,4 +224,4 @@ class LyndaCourseIE(InfoExtractor): course_title = course_json['Title'] - return self.playlist_result(entries, course_id, course_title) \ No newline at end of file + return self.playlist_result(entries, course_id, course_title)