]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/ninecninemedia.py
[ie/matchtv] Fix extractor (#10190)
[yt-dlp.git] / yt_dlp / extractor / ninecninemedia.py
index 781842721b0ea4fca332cfa4696557498f5a6dca..93e28624b78100fc92e1a2c4ad40910e6e6e482c 100644 (file)
@@ -1,11 +1,9 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
 from .common import InfoExtractor
 from ..utils import (
     float_or_none,
     int_or_none,
     parse_iso8601,
+    str_or_none,
     try_get,
 )
 
@@ -25,7 +23,7 @@ def _real_extract(self, url):
         title = content['Name']
         content_package = content['ContentPackages'][0]
         package_id = content_package['Id']
-        content_package_url = api_base_url + 'contentpackages/%s/' % package_id
+        content_package_url = api_base_url + f'contentpackages/{package_id}/'
         content_package = self._download_json(
             content_package_url, content_id, query={
                 '$include': '[HasClosedCaptions]',
@@ -46,7 +44,6 @@ def _real_extract(self, url):
         formats.extend(self._extract_mpd_formats(
             manifest_base_url + 'mpd', content_id,
             mpd_id='dash', fatal=False))
-        self._sort_formats(formats)
 
         thumbnails = []
         for image in (content.get('Images') or []):
@@ -77,7 +74,7 @@ def _real_extract(self, url):
             'episode_number': int_or_none(content.get('Episode')),
             'season': season.get('Name'),
             'season_number': int_or_none(season.get('Number')),
-            'season_id': season.get('Id'),
+            'season_id': str_or_none(season.get('Id')),
             'series': try_get(content, lambda x: x['Media']['Name']),
             'tags': tags,
             'categories': categories,
@@ -94,7 +91,7 @@ def _real_extract(self, url):
                 }, {
                     'url': manifest_base_url + 'srt',
                     'ext': 'srt',
-                }]
+                }],
             }
 
         return info
@@ -113,22 +110,21 @@ class CPTwentyFourIE(InfoExtractor):
             'title': 'WATCH: Truck rips ATM from Mississauga business',
             'description': 'md5:cf7498480885f080a754389a2b2f7073',
             'timestamp': 1637618377,
-            'episode_number': None,
             'season': 'Season 0',
             'season_number': 0,
-            'season_id': 57974,
+            'season_id': '57974',
             'series': 'CTV News Toronto',
             'duration': 26.86,
             'thumbnail': 'http://images2.9c9media.com/image_asset/2014_11_5_2eb609a0-475b-0132-fbd6-34b52f6f1279_jpg_2000x1125.jpg',
             'upload_date': '20211122',
         },
-        'params': {'skip_download': True, 'format': 'bv'}
+        'params': {'skip_download': True, 'format': 'bv'},
     }]
 
     def _real_extract(self, url):
         display_id = self._match_id(url)
         webpage = self._download_webpage(url, display_id)
-        id, destination = self._search_regex(
+        video_id, destination = self._search_regex(
             r'getAuthStates\("(?P<id>[^"]+)",\s?"(?P<destination>[^"]+)"\);',
             webpage, 'video id and destination', group=('id', 'destination'))
-        return self.url_result(f'9c9media:{destination}:{id}', ie=NineCNineMediaIE.ie_key(), video_id=id)
+        return self.url_result(f'9c9media:{destination}:{video_id}', NineCNineMediaIE, video_id)