avoid traverse_obj function
authorPetr Vaněk <arkamar@atlas.cz>
Sat, 12 Feb 2022 11:28:30 +0000 (12:28 +0100)
committerdirkf <fieldhouse@gmx.net>
Mon, 14 Feb 2022 07:07:05 +0000 (07:07 +0000)
youtube_dl/extractor/streamcz.py

index 998342e939dd249ee6b05bb58bccfbcfd3908e55..fbdc4450536cab11049b13faea4889e6b3b1b302 100644 (file)
@@ -7,7 +7,6 @@ from ..utils import (
     float_or_none,
     int_or_none,
     parse_codecs,
-    traverse_obj,
     urljoin,
 )
 
@@ -38,7 +37,7 @@ class StreamCZIE(InfoExtractor):
 
     def _extract_formats(self, spl_url, video):
         for ext, pref, streams in (
-                ('ts', -1, traverse_obj(video, ('http_stream', 'qualities'))),
+                ('ts', -1, video.get('http_stream', {}).get('qualities', {})),
                 ('mp4', 1, video.get('mp4'))):
             for format_id, stream in streams.items():
                 if not stream.get('url'):
@@ -50,8 +49,8 @@ class StreamCZIE(InfoExtractor):
                     'url': urljoin(spl_url, stream['url']),
                     'tbr': float_or_none(stream.get('bandwidth'), scale=1000),
                     'duration': float_or_none(stream.get('duration'), scale=1000),
-                    'width': traverse_obj(stream, ('resolution', 0)),
-                    'height': traverse_obj(stream, ('resolution', 1)) or int_or_none(format_id.replace('p', '')),
+                    'width': stream.get('resolution', 2 * [0])[0] or None,
+                    'height': stream.get('resolution', 2 * [0])[1] or int_or_none(format_id.replace('p', '')),
                     **parse_codecs(stream.get('codec')),
                 }