]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/whowatch.py
[extractor/youtube] Add `ios` to default clients used
[yt-dlp.git] / yt_dlp / extractor / whowatch.py
index f8bc2e73a6c06ada73cea1ae3dbc2650310b9c27..f2808cd9fc83de6ce01b3a52694e63fd1fb020be 100644 (file)
@@ -1,10 +1,8 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
 from .common import InfoExtractor
 from ..utils import (
     int_or_none,
     qualities,
+    try_call,
     try_get,
     ExtractorError,
 )
@@ -26,10 +24,10 @@ def _real_extract(self, url):
         metadata = self._download_json('https://api.whowatch.tv/lives/%s' % video_id, video_id)
         live_data = self._download_json('https://api.whowatch.tv/lives/%s/play' % video_id, video_id)
 
-        title = try_get(None, (
-            lambda x: live_data['share_info']['live_title'][1:-1],
-            lambda x: metadata['live']['title'],
-        ), compat_str)
+        title = try_call(
+            lambda: live_data['share_info']['live_title'][1:-1],
+            lambda: metadata['live']['title'],
+            expected_type=str)
 
         hls_url = live_data.get('hls_url')
         if not hls_url:
@@ -72,7 +70,6 @@ def _real_extract(self, url):
         formats.extend(self._extract_m3u8_formats(
             hls_url, video_id, ext='mp4', m3u8_id='hls'))
         self._remove_duplicate_formats(formats)
-        self._sort_formats(formats)
 
         uploader_url = try_get(metadata, lambda x: x['live']['user']['user_path'], compat_str)
         if uploader_url: