[utils] Don't transform numbers not starting with a zero
authorYen Chi Hsuan <yan12125@gmail.com>
Thu, 16 Jun 2016 03:00:54 +0000 (11:00 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Thu, 16 Jun 2016 03:00:54 +0000 (11:00 +0800)
Fix test_Viidea and maybe others

test/test_utils.py
youtube_dl/utils.py

index 0e25de6b749bd2077d92470141af0866a1b12122..b7ef51f8defa05da4a329315a069f10133d26bea 100644 (file)
@@ -640,6 +640,9 @@ class TestUtil(unittest.TestCase):
             "1":{"src":"skipped", "type": "application/vnd.apple.mpegURL"}
         }''')
 
+        inp = '''{"foo":101}'''
+        self.assertEqual(js_to_json(inp), '''{"foo":101}''')
+
     def test_js_to_json_edgecases(self):
         on = js_to_json("{abc_def:'1\\'\\\\2\\\\\\'3\"4'}")
         self.assertEqual(json.loads(on), {"abc_def": "1'\\2\\'3\"4"})
index c8308ba3a3b7e3473e53423b45c7950b57eb5aef..82f67f6cdca2345d8dff1a10dfe2444a898362b9 100644 (file)
@@ -1970,7 +1970,7 @@ def js_to_json(code):
         '(?:[^'\\]*(?:\\\\|\\['"nurtbfx/\n]))*[^'\\]*'|
         /\*.*?\*/|,(?=\s*[\]}])|
         [a-zA-Z_][.a-zA-Z_0-9]*|
-        (?:0[xX][0-9a-fA-F]+|0+[0-7]+)(?:\s*:)?|
+        \b(?:0[xX][0-9a-fA-F]+|0+[0-7]+)(?:\s*:)?|
         [0-9]+(?=\s*:)
         ''', fix_kv, code)