浏览代码

[youtube] Adapt player version regex to handle urls ending in '/html5player-new.js'

It was always extracting 'new' as the version, breaking the cache system.
Jaime Marquínez Ferrándiz 10 年之前
父节点
当前提交
4bc8eec4eb
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      youtube_dl/extractor/youtube.py

+ 2 - 2
youtube_dl/extractor/youtube.py

@@ -660,7 +660,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 
 
     def _extract_signature_function(self, video_id, player_url, example_sig):
     def _extract_signature_function(self, video_id, player_url, example_sig):
         id_m = re.match(
         id_m = re.match(
-            r'.*?-(?P<id>[a-zA-Z0-9_-]+)(?:/watch_as3|/html5player)?\.(?P<ext>[a-z]+)$',
+            r'.*?-(?P<id>[a-zA-Z0-9_-]+)(?:/watch_as3|/html5player(?:-new)?)?\.(?P<ext>[a-z]+)$',
             player_url)
             player_url)
         if not id_m:
         if not id_m:
             raise ExtractorError('Cannot identify player %r' % player_url)
             raise ExtractorError('Cannot identify player %r' % player_url)
@@ -1289,7 +1289,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
                                 player_desc = 'flash player %s' % player_version
                                 player_desc = 'flash player %s' % player_version
                             else:
                             else:
                                 player_version = self._search_regex(
                                 player_version = self._search_regex(
-                                    r'html5player-([^/]+?)(?:/html5player)?\.js',
+                                    r'html5player-([^/]+?)(?:/html5player(?:-new)?)?\.js',
                                     player_url,
                                     player_url,
                                     'html5 player', fatal=False)
                                     'html5 player', fatal=False)
                                 player_desc = 'html5 player %s' % player_version
                                 player_desc = 'html5 player %s' % player_version