summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-06-27 22:45:26 +0700
committerSergey M․ <dstftw@gmail.com>2016-06-27 22:45:26 +0700
commitc287f2bc6073182323aada26309539d724943fa8 (patch)
tree06a71aa6d3d47f5db392de2824ede519fd1c402b
parent9ea5c04c0d16f5519079ae04fdad62fc28c884b0 (diff)
downloadyoutube-dl-c287f2bc6073182323aada26309539d724943fa8.tar.gz
youtube-dl-c287f2bc6073182323aada26309539d724943fa8.tar.xz
youtube-dl-c287f2bc6073182323aada26309539d724943fa8.zip
[extractor/generic] Use _extract_url for kaltura embeds (Closes #9922)
-rw-r--r--youtube_dl/extractor/generic.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index 26a7d10be..2188f8bb2 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -64,6 +64,7 @@ from .liveleak import LiveLeakIE
 from .threeqsdn import ThreeQSDNIE
 from .theplatform import ThePlatformIE
 from .vessel import VesselIE
+from .kaltura import KalturaIE
 
 
 class GenericIE(InfoExtractor):
@@ -1926,12 +1927,9 @@ class GenericIE(InfoExtractor):
             return self.url_result(mobj.group('url'), 'Zapiks')
 
         # Look for Kaltura embeds
-        mobj = (re.search(r"(?s)kWidget\.(?:thumb)?[Ee]mbed\(\{.*?(?P<q1>['\"])wid(?P=q1)\s*:\s*(?P<q2>['\"])_?(?P<partner_id>[^'\"]+)(?P=q2),.*?(?P<q3>['\"])entry_?[Ii]d(?P=q3)\s*:\s*(?P<q4>['\"])(?P<id>[^'\"]+)(?P=q4),", webpage) or
-                re.search(r'(?s)(?P<q1>["\'])(?:https?:)?//cdnapi(?:sec)?\.kaltura\.com/.*?(?:p|partner_id)/(?P<partner_id>\d+).*?(?P=q1).*?(?P<q2>["\'])?entry_?[Ii]d(?P=q2)\s*:\s*(?P<q3>["\'])(?P<id>.+?)(?P=q3)', webpage))
-        if mobj is not None:
-            return self.url_result(smuggle_url(
-                'kaltura:%(partner_id)s:%(id)s' % mobj.groupdict(),
-                {'source_url': url}), 'Kaltura')
+        kaltura_url = KalturaIE._extract_url(webpage)
+        if kaltura_url:
+            return self.url_result(smuggle_url(kaltura_url, {'source_url': url}), KalturaIE.ie_key())
 
         # Look for Eagle.Platform embeds
         mobj = re.search(