[udemy] Extract outputs renditions (closes #16289, closes #16291, closes #16320,...
authorSergey M․ <dstftw@gmail.com>
Mon, 30 Apr 2018 19:15:43 +0000 (02:15 +0700)
committerSergey M․ <dstftw@gmail.com>
Mon, 30 Apr 2018 19:15:43 +0000 (02:15 +0700)
youtube_dl/extractor/udemy.py

index 439ed2a890f533f264219b1c3d2bf2efa83f57cc..bf1134e3ffb5c80d56898da57abe0ce84741581d 100644 (file)
@@ -58,6 +58,10 @@ class UdemyIE(InfoExtractor):
         # no url in outputs format entry
         'url': 'https://www.udemy.com/learn-web-development-complete-step-by-step-guide-to-success/learn/v4/t/lecture/4125812',
         'only_matching': True,
+    }, {
+        # only outputs rendition
+        'url': 'https://www.udemy.com/how-you-can-help-your-local-community-5-amazing-examples/learn/v4/t/lecture/3225750?start=0',
+        'only_matching': True,
     }]
 
     def _extract_course_info(self, webpage, video_id):
@@ -357,6 +361,12 @@ class UdemyIE(InfoExtractor):
                     fatal=False)
                 extract_subtitles(text_tracks)
 
+        if not formats and outputs:
+            for format_id, output in outputs.items():
+                f = extract_output_format(output, format_id)
+                if f.get('url'):
+                    formats.append(f)
+
         self._sort_formats(formats, field_preference=('height', 'width', 'tbr', 'format_id'))
 
         return {