diff options
author | Yen Chi Hsuan <yan12125@gmail.com> | 2016-09-17 18:45:08 +0800 |
---|---|---|
committer | Yen Chi Hsuan <yan12125@gmail.com> | 2016-09-17 18:45:08 +0800 |
commit | e14c82bd6b6cfc1e904b067350d818657c911e07 (patch) | |
tree | 39519e7b6cce8d47310fa577e2b4724bff87350d | |
parent | c51a7f0b2f2454bfe0b53f9d79567b3210e015b3 (diff) |
[jwplatform] Use js_to_json to detect more JWPlayers
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | youtube_dl/extractor/jwplatform.py | 6 |
2 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,9 @@ +version <unreleased> + +Extractors +* [jwplatform] Improve JWPlayer detection + + version 2016.09.15 Core diff --git a/youtube_dl/extractor/jwplatform.py b/youtube_dl/extractor/jwplatform.py index 7aaa65476..38199fcd0 100644 --- a/youtube_dl/extractor/jwplatform.py +++ b/youtube_dl/extractor/jwplatform.py @@ -9,6 +9,7 @@ from ..utils import ( determine_ext, float_or_none, int_or_none, + js_to_json, mimetype2ext, ) @@ -19,14 +20,15 @@ class JWPlatformBaseIE(InfoExtractor): # TODO: Merge this with JWPlayer-related codes in generic.py mobj = re.search( - 'jwplayer\((?P<quote>[\'"])[^\'" ]+(?P=quote)\)\.setup\((?P<options>[^)]+)\)', + r'jwplayer\((?P<quote>[\'"])[^\'" ]+(?P=quote)\)\.setup\s*\((?P<options>[^)]+)\)', webpage) if mobj: return mobj.group('options') def _extract_jwplayer_data(self, webpage, video_id, *args, **kwargs): jwplayer_data = self._parse_json( - self._find_jwplayer_data(webpage), video_id) + self._find_jwplayer_data(webpage), video_id, + transform_source=js_to_json) return self._parse_jwplayer_data( jwplayer_data, video_id, *args, **kwargs) |