Browse Source

[utils] Don't transform numbers not starting with a zero

Fix test_Viidea and maybe others
totalwebcasting
Yen Chi Hsuan 9 years ago
parent
commit
47212f7bcb
No known key found for this signature in database GPG Key ID: 3FDDD575826C5C30
2 changed files with 4 additions and 1 deletions
  1. +3
    -0
      test/test_utils.py
  2. +1
    -1
      youtube_dl/utils.py

+ 3
- 0
test/test_utils.py View 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"})


+ 1
- 1
youtube_dl/utils.py View 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)


Loading…
Cancel
Save