浏览代码

[brightcove] Allow whitespace around attribute names in embedded code

Sergey M․ 8 年之前
父节点
当前提交
9edf47df7b
共有 2 个文件被更改,包括 17 次插入1 次删除
  1. 1 1
      youtube_dl/extractor/brightcove.py
  2. 16 0
      youtube_dl/extractor/generic.py

+ 1 - 1
youtube_dl/extractor/brightcove.py

@@ -522,7 +522,7 @@ class BrightcoveNewIE(InfoExtractor):
         # [2] looks like:
         # [2] looks like:
         for video, script_tag, account_id, player_id, embed in re.findall(
         for video, script_tag, account_id, player_id, embed in re.findall(
                 r'''(?isx)
                 r'''(?isx)
-                    (<video\s+[^>]*data-video-id=['"]?[^>]+>)
+                    (<video\s+[^>]*\bdata-video-id\s*=\s*['"]?[^>]+>)
                     (?:.*?
                     (?:.*?
                         (<script[^>]+
                         (<script[^>]+
                             src=["\'](?:https?:)?//players\.brightcove\.net/
                             src=["\'](?:https?:)?//players\.brightcove\.net/

+ 16 - 0
youtube_dl/extractor/generic.py

@@ -1429,6 +1429,22 @@ class GenericIE(InfoExtractor):
                 'skip_download': True,
                 'skip_download': True,
             },
             },
         },
         },
+        {
+            # Brightcove embed with whitespace around attribute names
+            'url': 'http://www.stack.com/video/3167554373001/learn-to-hit-open-three-pointers-with-damian-lillard-s-baseline-drift-drill',
+            'info_dict': {
+                'id': '3167554373001',
+                'ext': 'mp4',
+                'title': "Learn to Hit Open Three-Pointers With Damian Lillard's Baseline Drift Drill",
+                'description': 'md5:57bacb0e0f29349de4972bfda3191713',
+                'uploader_id': '1079349493',
+                'upload_date': '20140207',
+                'timestamp': 1391810548,
+            },
+            'params': {
+                'skip_download': True,
+            },
+        },
         # Another form of arte.tv embed
         # Another form of arte.tv embed
         {
         {
             'url': 'http://www.tv-replay.fr/redirection/09-04-16/arte-reportage-arte-11508975.html',
             'url': 'http://www.tv-replay.fr/redirection/09-04-16/arte-reportage-arte-11508975.html',