]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/generic.py
[Ted] Rewrite extractor (#2359)
[yt-dlp.git] / yt_dlp / extractor / generic.py
index 101258d743c94b4c006678f76ad5749aed5bf435..9b62ebfed54cfa4b3482c9cb529883e82e4f4de1 100644 (file)
 from .vshare import VShareIE
 from .mediasite import MediasiteIE
 from .springboardplatform import SpringboardPlatformIE
+from .ted import TedEmbedIE
 from .yapfiles import YapFilesIE
 from .vice import ViceIE
 from .xfileshare import XFileShareIE
@@ -3174,10 +3175,9 @@ def _real_extract(self, url):
             return self.url_result(mobj.group('url'), 'Tvigle')
 
         # Look for embedded TED player
-        mobj = re.search(
-            r'<iframe[^>]+?src=(["\'])(?P<url>https?://embed(?:-ssl)?\.ted\.com/.+?)\1', webpage)
-        if mobj is not None:
-            return self.url_result(mobj.group('url'), 'TED')
+        ted_urls = TedEmbedIE._extract_urls(webpage)
+        if ted_urls:
+            return self.playlist_from_matches(ted_urls, video_id, video_title, ie=TedEmbedIE.ie_key())
 
         # Look for embedded Ustream videos
         ustream_url = UstreamIE._extract_url(webpage)