]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/nexx.py
[extractor] Deprecate `_sort_formats`
[yt-dlp.git] / yt_dlp / extractor / nexx.py
index 01376be3da4325c25bcb92a703e6050455560ea6..b4874c8f3e0d84e8a3758f30694b0018b7af6cee 100644 (file)
@@ -114,8 +114,8 @@ def _extract_domain_id(webpage):
             webpage)
         return mobj.group('id') if mobj else None
 
-    @staticmethod
-    def _extract_urls(webpage):
+    @classmethod
+    def _extract_embed_urls(cls, url, webpage):
         # Reference:
         # 1. https://nx-s.akamaized.net/files/201510/44.pdf
 
@@ -135,10 +135,6 @@ def _extract_urls(webpage):
 
         return entries
 
-    @staticmethod
-    def _extract_url(webpage):
-        return NexxIE._extract_urls(webpage)[0]
-
     def _handle_error(self, response):
         if traverse_obj(response, ('metadata', 'notice'), expected_type=str):
             self.report_warning('%s said: %s' % (self.IE_NAME, response['metadata']['notice']))
@@ -456,8 +452,6 @@ def find_video(result):
         else:
             self.raise_no_formats(f'{cdn} formats are currently not supported', video_id)
 
-        self._sort_formats(formats)
-
         subtitles = {}
         for sub in video.get('captiondata') or []:
             if sub.get('data'):
@@ -498,6 +492,8 @@ def find_video(result):
 
 class NexxEmbedIE(InfoExtractor):
     _VALID_URL = r'https?://embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?:video/)?(?P<id>[^/?#&]+)'
+    # Reference. https://nx-s.akamaized.net/files/201510/44.pdf
+    _EMBED_REGEX = [r'<iframe[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?:(?!\1).)+)\1']
     _TESTS = [{
         'url': 'http://embed.nexx.cloud/748/KC1614647Z27Y7T?autoplay=1',
         'md5': '16746bfc28c42049492385c989b26c4a',
@@ -521,16 +517,6 @@ class NexxEmbedIE(InfoExtractor):
         'only_matching': True,
     }]
 
-    @staticmethod
-    def _extract_urls(webpage):
-        # Reference:
-        # 1. https://nx-s.akamaized.net/files/201510/44.pdf
-
-        # iFrame Embed Integration
-        return [mobj.group('url') for mobj in re.finditer(
-            r'<iframe[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?:(?!\1).)+)\1',
-            webpage)]
-
     def _real_extract(self, url):
         embed_id = self._match_id(url)