]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/kakao.py
[ie/chzzk] Add extractors (#8887)
[yt-dlp.git] / yt_dlp / extractor / kakao.py
index 8ad1d9efd8d9da0598efda2214c81e8416b0fa82..43055e89debe5375e6ef77ebccdc6dba51222ca8 100644 (file)
@@ -1,5 +1,5 @@
 from .common import InfoExtractor
-from ..compat import compat_HTTPError
+from ..networking.exceptions import HTTPError
 from ..utils import (
     ExtractorError,
     int_or_none,
@@ -101,10 +101,11 @@ def _real_extract(self, url):
                     cdn_api_base, video_id, query=query,
                     note='Downloading video URL for profile %s' % profile_name)
             except ExtractorError as e:
-                if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403:
-                    resp = self._parse_json(e.cause.read().decode(), video_id)
+                if isinstance(e.cause, HTTPError) and e.cause.status == 403:
+                    resp = self._parse_json(e.cause.response.read().decode(), video_id)
                     if resp.get('code') == 'GeoBlocked':
                         self.raise_geo_restricted()
+                raise
 
             fmt_url = traverse_obj(fmt_url_json, ('videoLocation', 'url'))
             if not fmt_url:
@@ -119,7 +120,6 @@ def _real_extract(self, url):
                 'filesize': int_or_none(fmt.get('filesize')),
                 'tbr': int_or_none(fmt.get('kbps')),
             })
-        self._sort_formats(formats)
 
         thumbs = []
         for thumb in clip.get('clipChapterThumbnailList') or []: