summary refs log tree commit diff
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2016-12-20 18:45:52 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2016-12-20 18:45:52 +0800
commit8ab7e6c4cc93d998a39fda9733587b58f5252999 (patch)
tree6ced34cc5a805e820a2f48bb21d4928bd10525be
parentc80db5d3988b31a1f17b2e894099ff16b6b777c4 (diff)
downloadyoutube-dl-8ab7e6c4cc93d998a39fda9733587b58f5252999.tar.gz
youtube-dl-8ab7e6c4cc93d998a39fda9733587b58f5252999.tar.xz
youtube-dl-8ab7e6c4cc93d998a39fda9733587b58f5252999.zip
[kaltura] Improve widget ID extraction (closes #11480)
-rw-r--r--ChangeLog6
-rw-r--r--youtube_dl/extractor/generic.py14
-rw-r--r--youtube_dl/extractor/kaltura.py5
3 files changed, 24 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ed5da7fe..da0d37f80 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+version <unreleased>
+
+Extractors
+* [kaltura] Fix wrong widget ID in some cases (#11480)
+
+
 version 2016.12.18
 
 Core
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index 3949c8bf7..a6a5f193e 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -972,6 +972,20 @@ class GenericIE(InfoExtractor):
                 'skip_download': True,
             }
         },
+        {
+            # Kaltura embedded, some fileExt broken (#11480)
+            'url': 'http://www.cornell.edu/video/nima-arkani-hamed-standard-models-of-particle-physics',
+            'info_dict': {
+                'id': '1_sgtvehim',
+                'ext': 'mp4',
+                'title': 'Our "Standard Models" of particle physics and cosmology',
+                'description': 'md5:67ea74807b8c4fea92a6f38d6d323861',
+                'timestamp': 1321158993,
+                'upload_date': '20111113',
+                'uploader_id': 'kps1',
+            },
+            'add_ie': ['Kaltura'],
+        },
         # Eagle.Platform embed (generic URL)
         {
             'url': 'http://lenta.ru/news/2015/03/06/navalny/',
diff --git a/youtube_dl/extractor/kaltura.py b/youtube_dl/extractor/kaltura.py
index 91bc3a0a7..c0ddad6f9 100644
--- a/youtube_dl/extractor/kaltura.py
+++ b/youtube_dl/extractor/kaltura.py
@@ -107,7 +107,7 @@ class KalturaIE(InfoExtractor):
                         (?P<q1>['\"])wid(?P=q1)\s*:\s*
                         (?P<q2>['\"])_?(?P<partner_id>(?:(?!(?P=q2)).)+)(?P=q2),.*?
                         (?P<q3>['\"])entry_?[Ii]d(?P=q3)\s*:\s*
-                        (?P<q4>['\"])(?P<id>(?:(?!(?P=q4)).)+)(?P=q4),
+                        (?P<q4>['\"])(?P<id>(?:(?!(?P=q4)).)+)(?P=q4)(?:,|\s*\})
                 """, webpage) or
             re.search(
                 r'''(?xs)
@@ -266,6 +266,9 @@ class KalturaIE(InfoExtractor):
             # skip for now.
             if f.get('fileExt') == 'chun':
                 continue
+            if not f.get('fileExt') and f.get('containerFormat') == 'qt':
+                # QT indicates QuickTime; some videos have broken fileExt
+                f['fileExt'] = 'mov'
             video_url = sign_url(
                 '%s/flavorId/%s' % (data_url, f['id']))
             # audio-only has no videoCodecId (e.g. kaltura:1926081:0_c03e1b5g