aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
diff options
context:
space:
mode:
authorNaglis Jonaitis <njonaitis@gmail.com>2015-02-27 00:34:19 +0200
committerNaglis Jonaitis <njonaitis@gmail.com>2015-02-27 00:34:19 +0200
commite3216b82bf6ef54db63984f7fece4e95fbc3b981 (patch)
treea6d1463f284d6709956ed558b7f43542c82b8272 /youtube_dl
parentda419e23320aef560c05f543c5ee375e8956c95a (diff)
[generic] Support dynamic Kaltura embeds (#5016) (#5073)
Diffstat (limited to 'youtube_dl')
-rw-r--r--youtube_dl/extractor/generic.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index 3aff57e30..27e2bc300 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -557,6 +557,18 @@ class GenericIE(InfoExtractor):
'title': 'EP3S5 - Bon Appétit - Baqueira Mi Corazon !',
}
},
+ # Kaltura embed
+ {
+ 'url': 'http://www.monumentalnetwork.com/videos/john-carlson-postgame-2-25-15',
+ 'info_dict': {
+ 'id': '1_eergr3h1',
+ 'ext': 'mp4',
+ 'upload_date': '20150226',
+ 'uploader_id': 'MonumentalSports-Kaltura@perfectsensedigital.com',
+ 'timestamp': int,
+ 'title': 'John Carlson Postgame 2/25/15',
+ },
+ },
]
def report_following_redirect(self, new_url):
@@ -1113,6 +1125,12 @@ class GenericIE(InfoExtractor):
if mobj is not None:
return self.url_result(mobj.group('url'), 'Zapiks')
+ # Look for Kaltura embeds
+ mobj = re.search(
+ r"(?s)kWidget\.(?:thumb)?[Ee]mbed\(\{.*?'wid'\s*:\s*'_?(?P<partner_id>[^']+)',.*?'entry_id'\s*:\s*'(?P<id>[^']+)',", webpage)
+ if mobj is not None:
+ return self.url_result('kaltura:%(partner_id)s:%(id)s' % mobj.groupdict(), 'Kaltura')
+
def check_video(vurl):
if YoutubeIE.suitable(vurl):
return True