[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 sys
|
||||
|
||||
from ..jsinterp import JSInterpreter
|
||||
from .common import InfoExtractor
|
||||
from ..utils import (
|
||||
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
|
||||
def __v_rot(text):
|
||||
if text is None:
|
||||
@ -151,10 +129,9 @@ class YouWatchIE(InfoExtractor):
|
||||
jwplayer_setup = self._html_search_regex(r'(jwplayer\s*\((.|\n)*\)\.setup)',
|
||||
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)
|
||||
# fix unbalanced commas
|
||||
jwplayer_json = re.sub(r',\s*([}\]])', '\g<1>', jwplayer_json)
|
||||
jwplayer_json = self._parse_json(jwplayer_json, video_id)
|
||||
|
||||
video_urls = [
|
||||
|
Loading…
x
Reference in New Issue
Block a user