From bfd973ece3369c593b5e82a88cc16de80088a73e Mon Sep 17 00:00:00 2001 From: pukkandan Date: Mon, 1 Aug 2022 06:53:25 +0530 Subject: [extractors] Use new framework for existing embeds (#4307) `Brightcove` is difficult to migrate because it's subclasses may depend on the signature of the current functions. So it is left as-is for now Note: Tests have not been migrated --- yt_dlp/extractor/kaltura.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'yt_dlp/extractor/kaltura.py') diff --git a/yt_dlp/extractor/kaltura.py b/yt_dlp/extractor/kaltura.py index f4092aa71..f62c9791c 100644 --- a/yt_dlp/extractor/kaltura.py +++ b/yt_dlp/extractor/kaltura.py @@ -111,13 +111,8 @@ class KalturaIE(InfoExtractor): } ] - @staticmethod - def _extract_url(webpage): - urls = KalturaIE._extract_urls(webpage) - return urls[0] if urls else None - - @staticmethod - def _extract_urls(webpage): + @classmethod + def _extract_embed_urls(cls, url, webpage): # Embed codes: https://knowledge.kaltura.com/embedding-kaltura-media-players-your-site finditer = ( list(re.finditer( @@ -159,14 +154,14 @@ class KalturaIE(InfoExtractor): for k, v in embed_info.items(): if v: embed_info[k] = v.strip() - url = 'kaltura:%(partner_id)s:%(id)s' % embed_info + embed_url = 'kaltura:%(partner_id)s:%(id)s' % embed_info escaped_pid = re.escape(embed_info['partner_id']) service_mobj = re.search( r']+src=(["\'])(?P(?:https?:)?//(?:(?!\1).)+)/p/%s/sp/%s00/embedIframeJs' % (escaped_pid, escaped_pid), webpage) if service_mobj: - url = smuggle_url(url, {'service_url': service_mobj.group('id')}) - urls.append(url) + embed_url = smuggle_url(embed_url, {'service_url': service_mobj.group('id')}) + urls.append(embed_url) return urls def _kaltura_api_call(self, video_id, actions, service_url=None, *args, **kwargs): -- cgit v1.2.3