]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/rte.py
[ie/crunchyroll] Fix stream extraction (#10005)
[yt-dlp.git] / yt_dlp / extractor / rte.py
index 1fbc72915ea9b45cfcfe4f17e418a5958d44093c..7ba80d4ba767a6227b57e0768f6df6a0cfd0010f 100644 (file)
@@ -1,10 +1,7 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
 import re
 
 from .common import InfoExtractor
-from ..compat import compat_HTTPError
+from ..networking.exceptions import HTTPError
 from ..utils import (
     float_or_none,
     parse_iso8601,
@@ -34,8 +31,8 @@ def _real_extract(self, url):
             except ExtractorError as ee:
                 if num < len(ENDPOINTS) or formats:
                     continue
-                if isinstance(ee.cause, compat_HTTPError) and ee.cause.code == 404:
-                    error_info = self._parse_json(ee.cause.read().decode(), item_id, fatal=False)
+                if isinstance(ee.cause, HTTPError) and ee.cause.status == 404:
+                    error_info = self._parse_json(ee.cause.response.read().decode(), item_id, fatal=False)
                     if error_info:
                         raise ExtractorError(
                             '%s said: %s' % (self.IE_NAME, error_info['message']),
@@ -97,8 +94,6 @@ def _real_extract(self, url):
                     formats.extend(self._extract_f4m_formats(
                         hds_url, item_id, f4m_id='hds', fatal=False))
 
-        self._sort_formats(formats)
-
         info_dict['formats'] = formats
         return info_dict