commit: 47212f7bcbd59af40f91796562a6b72ba0439ac4
parent 4c93ee8d14dc081d413304d2d2eb694cb62cc71a
Author: Yen Chi Hsuan <yan12125@gmail.com>
Date: Thu, 16 Jun 2016 11:00:54 +0800
[utils] Don't transform numbers not starting with a zero
Fix test_Viidea and maybe others
Diffstat:
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/test/test_utils.py b/test/test_utils.py
@@ -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"})
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
@@ -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)