[YouWatch] Clean up depreciated json fix
This commit is contained in:
parent
c694559631
commit
c6df9d4863
@ -4,6 +4,7 @@ from __future__ import unicode_literals
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from ..jsinterp import JSInterpreter
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
ExtractorError,
|
ExtractorError,
|
||||||
@ -62,29 +63,6 @@ class YouWatchIE(InfoExtractor):
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
def extract_arguments(self, call, code):
|
|
||||||
if not call.endswith(')'):
|
|
||||||
pattern = r'%s\s*\(' % re.escape(call)
|
|
||||||
else:
|
|
||||||
pattern = re.escape(call)
|
|
||||||
mobj = re.search(pattern, code)
|
|
||||||
|
|
||||||
if mobj:
|
|
||||||
# XXX: context-free!
|
|
||||||
close_pos = open_pos = mobj.end()
|
|
||||||
counter = 1
|
|
||||||
while counter > 0:
|
|
||||||
if close_pos > len(code):
|
|
||||||
break
|
|
||||||
c = code[close_pos]
|
|
||||||
close_pos += 1
|
|
||||||
if c == '(':
|
|
||||||
counter += 1
|
|
||||||
elif c == ')':
|
|
||||||
counter -= 1
|
|
||||||
else:
|
|
||||||
return code[open_pos:close_pos - 1]
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def __v_rot(text):
|
def __v_rot(text):
|
||||||
if text is None:
|
if text is None:
|
||||||
@ -151,10 +129,9 @@ class YouWatchIE(InfoExtractor):
|
|||||||
jwplayer_setup = self._html_search_regex(r'(jwplayer\s*\((.|\n)*\)\.setup)',
|
jwplayer_setup = self._html_search_regex(r'(jwplayer\s*\((.|\n)*\)\.setup)',
|
||||||
jwplayer_setup_script, 'jwplayer')
|
jwplayer_setup_script, 'jwplayer')
|
||||||
|
|
||||||
jwplayer_json = self.extract_arguments(jwplayer_setup, jwplayer_setup_script)
|
js = JSInterpreter(jwplayer_setup_script)
|
||||||
|
jwplayer_json = js.extract_arguments(jwplayer_setup)
|
||||||
jwplayer_json = js_to_json(jwplayer_json)
|
jwplayer_json = js_to_json(jwplayer_json)
|
||||||
# fix unbalanced commas
|
|
||||||
jwplayer_json = re.sub(r',\s*([}\]])', '\g<1>', jwplayer_json)
|
|
||||||
jwplayer_json = self._parse_json(jwplayer_json, video_id)
|
jwplayer_json = self._parse_json(jwplayer_json, video_id)
|
||||||
|
|
||||||
video_urls = [
|
video_urls = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user