]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/lego.py
[ie/crunchyroll] Fix stream extraction (#10005)
[yt-dlp.git] / yt_dlp / extractor / lego.py
index b9d8b167c426e75b487ceb6552bebbf5080f7a56..46fc7a9b6035d4e479601cd99e1f2398826d37ab 100644 (file)
@@ -1,13 +1,11 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
 import uuid
 
 from .common import InfoExtractor
-from ..compat import compat_HTTPError
+from ..networking.exceptions import HTTPError
 from ..utils import (
     ExtractorError,
     int_or_none,
+    join_nonempty,
     qualities,
 )
 
@@ -77,7 +75,7 @@ def _real_extract(self, url):
                     'videoId': '%s_%s' % (uuid.UUID(video_id), locale),
                 }, headers=self.geo_verification_headers())
         except ExtractorError as e:
-            if isinstance(e.cause, compat_HTTPError) and e.cause.code == 451:
+            if isinstance(e.cause, HTTPError) and e.cause.status == 451:
                 self.raise_geo_restricted(countries=countries)
             raise
 
@@ -102,12 +100,8 @@ def _real_extract(self, url):
                     m3u8_id=video_source_format, fatal=False))
             else:
                 video_source_quality = video_source.get('Quality')
-                format_id = []
-                for v in (video_source_format, video_source_quality):
-                    if v:
-                        format_id.append(v)
                 f = {
-                    'format_id': '-'.join(format_id),
+                    'format_id': join_nonempty(video_source_format, video_source_quality),
                     'quality': q(video_source_quality),
                     'url': video_source_url,
                 }
@@ -119,7 +113,6 @@ def _real_extract(self, url):
                         'width': quality[2],
                     }),
                 formats.append(f)
-        self._sort_formats(formats)
 
         subtitles = {}
         sub_file_id = video.get('SubFileId')