]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/abc.py
[cleanup] Add more ruff rules (#10149)
[yt-dlp.git] / yt_dlp / extractor / abc.py
index 2c0d296fd2d7311021e340b44f6169a80cd925ef..7518ba6f0dbf13dce9448a0a63d6afc867208c47 100644 (file)
@@ -4,7 +4,6 @@
 import time
 
 from .common import InfoExtractor
-from ..compat import compat_str
 from ..utils import (
     ExtractorError,
     dict_get,
@@ -67,7 +66,7 @@ class ABCIE(InfoExtractor):
             'ext': 'mp4',
             'title': 'WWI Centenary',
             'description': 'md5:c2379ec0ca84072e86b446e536954546',
-        }
+        },
     }, {
         'url': 'https://www.abc.net.au/news/programs/the-world/2020-06-10/black-lives-matter-protests-spawn-support-for/12342074',
         'info_dict': {
@@ -75,7 +74,7 @@ class ABCIE(InfoExtractor):
             'ext': 'mp4',
             'title': 'Black Lives Matter protests spawn support for Papuans in Indonesia',
             'description': 'md5:2961a17dc53abc558589ccd0fb8edd6f',
-        }
+        },
     }, {
         'url': 'https://www.abc.net.au/btn/newsbreak/btn-newsbreak-20200814/12560476',
         'info_dict': {
@@ -86,7 +85,7 @@ class ABCIE(InfoExtractor):
             'upload_date': '20200813',
             'uploader': 'Behind the News',
             'uploader_id': 'behindthenews',
-        }
+        },
     }, {
         'url': 'https://www.abc.net.au/news/2023-06-25/wagner-boss-orders-troops-back-to-bases-to-avoid-bloodshed/102520540',
         'info_dict': {
@@ -95,7 +94,7 @@ class ABCIE(InfoExtractor):
             'ext': 'mp4',
             'description': 'Wagner troops leave Rostov-on-Don and\xa0Yevgeny Prigozhin will move to Belarus under a deal brokered by Belarusian President Alexander Lukashenko to end the mutiny.',
             'thumbnail': 'https://live-production.wcms.abc-cdn.net.au/0c170f5b57f0105c432f366c0e8e267b?impolicy=wcms_crop_resize&cropH=2813&cropW=5000&xPos=0&yPos=249&width=862&height=485',
-        }
+        },
     }]
 
     def _real_extract(self, url):
@@ -126,7 +125,7 @@ def _real_extract(self, url):
                 if mobj is None:
                     expired = self._html_search_regex(r'(?s)class="expired-(?:video|audio)".+?<span>(.+?)</span>', webpage, 'expired', None)
                     if expired:
-                        raise ExtractorError('%s said: %s' % (self.IE_NAME, expired), expected=True)
+                        raise ExtractorError(f'{self.IE_NAME} said: {expired}', expected=True)
                     raise ExtractorError('Unable to extract video urls')
 
             urls_info = self._parse_json(
@@ -164,7 +163,7 @@ def _real_extract(self, url):
                 'height': height,
                 'tbr': bitrate,
                 'filesize': int_or_none(url_info.get('filesize')),
-                'format_id': format_id
+                'format_id': format_id,
             })
 
         return {
@@ -288,13 +287,12 @@ def _real_extract(self, url):
         stream = next(s for s in video_params['playlist'] if s.get('type') in ('program', 'livestream'))
 
         house_number = video_params.get('episodeHouseNumber') or video_id
-        path = '/auth/hls/sign?ts={0}&hn={1}&d=android-tablet'.format(
-            int(time.time()), house_number)
+        path = f'/auth/hls/sign?ts={int(time.time())}&hn={house_number}&d=android-tablet'
         sig = hmac.new(
             b'android.content.res.Resources',
-            path.encode('utf-8'), hashlib.sha256).hexdigest()
+            path.encode(), hashlib.sha256).hexdigest()
         token = self._download_webpage(
-            'http://iview.abc.net.au{0}&sig={1}'.format(path, sig), video_id)
+            f'http://iview.abc.net.au{path}&sig={sig}', video_id)
 
         def tokenize_url(url, token):
             return update_url_query(url, {
@@ -303,7 +301,7 @@ def tokenize_url(url, token):
 
         for sd in ('1080', '720', 'sd', 'sd-low'):
             sd_url = try_get(
-                stream, lambda x: x['streams']['hls'][sd], compat_str)
+                stream, lambda x: x['streams']['hls'][sd], str)
             if not sd_url:
                 continue
             formats = self._extract_m3u8_formats(
@@ -358,7 +356,7 @@ class ABCIViewShowSeriesIE(InfoExtractor):
             'description': 'md5:93119346c24a7c322d446d8eece430ff',
             'series': 'Upper Middle Bogan',
             'season': 'Series 1',
-            'thumbnail': r're:^https?://cdn\.iview\.abc\.net\.au/thumbs/.*\.jpg$'
+            'thumbnail': r're:^https?://cdn\.iview\.abc\.net\.au/thumbs/.*\.jpg$',
         },
         'playlist_count': 8,
     }, {
@@ -386,7 +384,7 @@ class ABCIViewShowSeriesIE(InfoExtractor):
             'description': 'Satirist Mark Humphries brings his unique perspective on current political events for 7.30.',
             'series': '7.30 Mark Humphries Satire',
             'season': 'Episodes',
-            'thumbnail': r're:^https?://cdn\.iview\.abc\.net\.au/thumbs/.*\.jpg$'
+            'thumbnail': r're:^https?://cdn\.iview\.abc\.net\.au/thumbs/.*\.jpg$',
         },
         'playlist_count': 15,
     }]
@@ -398,7 +396,7 @@ def _real_extract(self, url):
             r'window\.__INITIAL_STATE__\s*=\s*[\'"](.+?)[\'"]\s*;',
             webpage, 'initial state')
         video_data = self._parse_json(
-            unescapeHTML(webpage_data).encode('utf-8').decode('unicode_escape'), show_id)
+            unescapeHTML(webpage_data).encode().decode('unicode_escape'), show_id)
         video_data = video_data['route']['pageData']['_embedded']
 
         highlight = try_get(video_data, lambda x: x['highlightVideo']['shareUrl'])