]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/infoq.py
[extractor] Deprecate `_sort_formats`
[yt-dlp.git] / yt_dlp / extractor / infoq.py
index 347cc515440f0056367023e8b2cf37d97a402cce..192bcfe35d21a6680f45121940733b75129ade2a 100644 (file)
@@ -1,15 +1,13 @@
-# coding: utf-8
-
-from __future__ import unicode_literals
-
 from ..compat import (
     compat_b64decode,
     compat_urllib_parse_unquote,
     compat_urlparse,
 )
 from ..utils import (
+    ExtractorError,
     determine_ext,
     update_url_query,
+    traverse_obj,
 )
 from .bokecc import BokeCCBaseIE
 
@@ -38,6 +36,7 @@ class InfoQIE(BokeCCBaseIE):
             'ext': 'flv',
             'description': 'md5:308d981fb28fa42f49f9568322c683ff',
         },
+        'skip': 'Sorry, the page you visited does not exist',
     }, {
         'url': 'https://www.infoq.com/presentations/Simple-Made-Easy',
         'md5': '0e34642d4d9ef44bf86f66f6399672db',
@@ -90,8 +89,10 @@ def _extract_http_video(self, webpage):
         }]
 
     def _extract_http_audio(self, webpage, video_id):
-        fields = self._form_hidden_inputs('mp3Form', webpage)
-        http_audio_url = fields.get('filename')
+        try:
+            http_audio_url = traverse_obj(self._form_hidden_inputs('mp3Form', webpage), 'filename')
+        except ExtractorError:
+            http_audio_url = None
         if not http_audio_url:
             return []
 
@@ -127,8 +128,6 @@ def _real_extract(self, url):
                 + self._extract_http_video(webpage)
                 + self._extract_http_audio(webpage, video_id))
 
-        self._sort_formats(formats)
-
         return {
             'id': video_id,
             'title': video_title,