]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/tvc.py
[ie/mlbtv] Fix extraction (#10296)
[yt-dlp.git] / yt_dlp / extractor / tvc.py
index 4ccc8f5227bada759c22fcbf404393dd07cc46b2..7c8c922a61cfdb146961349434c8459a0c9c8d8c 100644 (file)
@@ -1,5 +1,3 @@
-import re
-
 from .common import InfoExtractor
 from ..utils import (
     clean_html,
@@ -9,6 +7,7 @@
 
 class TVCIE(InfoExtractor):
     _VALID_URL = r'https?://(?:www\.)?tvc\.ru/video/iframe/id/(?P<id>\d+)'
+    _EMBED_REGEX = [r'<iframe[^>]+?src=(["\'])(?P<url>(?:http:)?//(?:www\.)?tvc\.ru/video/iframe/id/[^"]+)\1']
     _TEST = {
         'url': 'http://www.tvc.ru/video/iframe/id/74622/isPlay/false/id_stat/channel/?acc_video_id=/channel/brand/id/17/show/episodes/episode_id/39702',
         'md5': 'bbc5ff531d1e90e856f60fc4b3afd708',
@@ -21,18 +20,11 @@ class TVCIE(InfoExtractor):
         },
     }
 
-    @classmethod
-    def _extract_url(cls, webpage):
-        mobj = re.search(
-            r'<iframe[^>]+?src=(["\'])(?P<url>(?:http:)?//(?:www\.)?tvc\.ru/video/iframe/id/[^"]+)\1', webpage)
-        if mobj:
-            return mobj.group('url')
-
     def _real_extract(self, url):
         video_id = self._match_id(url)
 
         video = self._download_json(
-            'http://www.tvc.ru/video/json/id/%s' % video_id, video_id)
+            f'http://www.tvc.ru/video/json/id/{video_id}', video_id)
 
         formats = []
         for info in video.get('path', {}).get('quality', []):
@@ -49,7 +41,6 @@ def _real_extract(self, url):
                 'height': int_or_none(info.get('height')),
                 'tbr': int_or_none(info.get('bitrate')),
             })
-        self._sort_formats(formats)
 
         return {
             'id': video_id,