]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/telewebion.py
[ie/mlbtv] Fix extraction (#10296)
[yt-dlp.git] / yt_dlp / extractor / telewebion.py
index 9378ed0214ab37ff395426de75299415c43d25fc..b651160240b634cff65ed4781890f083641b3c80 100644 (file)
@@ -1,8 +1,8 @@
 from __future__ import annotations
 
+import functools
 import json
-from functools import partial
-from textwrap import dedent
+import textwrap
 
 from .common import InfoExtractor
 from ..utils import ExtractorError, format_field, int_or_none, parse_iso8601
@@ -10,7 +10,7 @@
 
 
 def _fmt_url(url):
-    return partial(format_field, template=url, default=None)
+    return functools.partial(format_field, template=url, default=None)
 
 
 class TelewebionIE(InfoExtractor):
@@ -72,7 +72,7 @@ def _call_graphql_api(
         result = self._download_json('https://graph.telewebion.com/graphql', video_id, note, data=json.dumps({
             'operationName': operation,
             'query': f'query {operation}{parameters} @cacheControl(maxAge: 60) {{{query}\n}}\n',
-            'variables': {name: value for name, (_, value) in (variables or {}).items()}
+            'variables': {name: value for name, (_, value) in (variables or {}).items()},
         }, separators=(',', ':')).encode(), headers={
             'Content-Type': 'application/json',
             'Accept': 'application/json',
@@ -88,7 +88,7 @@ def _real_extract(self, url):
         if not video_id.startswith('0x'):
             video_id = hex(int(video_id))
 
-        episode_data = self._call_graphql_api('getEpisodeDetail', video_id, dedent('''
+        episode_data = self._call_graphql_api('getEpisodeDetail', video_id, textwrap.dedent('''
             queryEpisode(filter: {EpisodeID: $EpisodeId}, first: 1) {
               title
               program {
@@ -127,7 +127,7 @@ def _real_extract(self, url):
             'formats': (
                 'channel', 'descriptor', {str},
                 {_fmt_url(f'https://cdna.telewebion.com/%s/episode/{video_id}/playlist.m3u8')},
-                {partial(self._extract_m3u8_formats, video_id=video_id, ext='mp4', m3u8_id='hls')}),
+                {functools.partial(self._extract_m3u8_formats, video_id=video_id, ext='mp4', m3u8_id='hls')}),
         }))
         info_dict['id'] = video_id
         return info_dict