mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 08:37:07 -05:00 
			
		
		
		
	[jsinterp] Allow digits in function names
This commit is contained in:
		@@ -57,6 +57,12 @@ _TESTS = [
 | 
			
		||||
        u'F375F75BF2AFDAAF2666E43868D46816F83F13E81C46.3725A8218E446A0DECD33F79DC282994D6AA92C92C9',
 | 
			
		||||
        u'9C29AA6D499282CD97F33DCED0A644E8128A5273.64C18E31F38361864D86834E6662FAADFA2FB57F'
 | 
			
		||||
    ),
 | 
			
		||||
    (
 | 
			
		||||
        u'https://s.ytimg.com/yts/jsbin/html5player-en_US-vflBb0OQx.js',
 | 
			
		||||
        u'js',
 | 
			
		||||
        84,
 | 
			
		||||
        u'123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ0STUVWXYZ!"#$%&\'()*+,@./:;<=>'
 | 
			
		||||
    )
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -114,13 +114,13 @@ class JSInterpreter(object):
 | 
			
		||||
        obj = {}
 | 
			
		||||
        obj_m = re.search(
 | 
			
		||||
            (r'(?:var\s+)?%s\s*=\s*\{' % re.escape(objname)) +
 | 
			
		||||
            r'\s*(?P<fields>([a-zA-Z$]+\s*:\s*function\(.*?\)\s*\{.*?\})*)' +
 | 
			
		||||
            r'\s*(?P<fields>([a-zA-Z$0-9]+\s*:\s*function\(.*?\)\s*\{.*?\})*)' +
 | 
			
		||||
            r'\}\s*;',
 | 
			
		||||
            self.code)
 | 
			
		||||
        fields = obj_m.group('fields')
 | 
			
		||||
        # Currently, it only supports function definitions
 | 
			
		||||
        fields_m = re.finditer(
 | 
			
		||||
            r'(?P<key>[a-zA-Z$]+)\s*:\s*function'
 | 
			
		||||
            r'(?P<key>[a-zA-Z$0-9]+)\s*:\s*function'
 | 
			
		||||
            r'\((?P<args>[a-z,]+)\){(?P<code>[^}]+)}',
 | 
			
		||||
            fields)
 | 
			
		||||
        for f in fields_m:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user