diff options
-rw-r--r-- | youtube_dl/jsinterp.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/youtube_dl/jsinterp.py b/youtube_dl/jsinterp.py index 129a4027b..449482d3c 100644 --- a/youtube_dl/jsinterp.py +++ b/youtube_dl/jsinterp.py @@ -99,9 +99,12 @@ class JSInterpreter(object): def extract_function(self, funcname): func_m = re.search( - r'function ' + re.escape(funcname) + + (r'(?:function %s|%s\s*=\s*function)' % ( + re.escape(funcname), re.escape(funcname))) + r'\((?P<args>[a-z,]+)\){(?P<code>[^}]+)}', self.code) + if func_m is None: + raise ExtractorError('Could not find JS function %r' % funcname) argnames = func_m.group('args').split(',') def resf(args): |