equal
deleted
inserted
replaced
427 upper = 1 |
427 upper = 1 |
428 other = 0 |
428 other = 0 |
429 |
429 |
430 _jsonmap = [] |
430 _jsonmap = [] |
431 _jsonmap.extend("\\u%04x" % x for x in range(32)) |
431 _jsonmap.extend("\\u%04x" % x for x in range(32)) |
432 _jsonmap.extend(chr(x) for x in range(32, 127)) |
432 _jsonmap.extend(pycompat.bytechr(x) for x in range(32, 127)) |
433 _jsonmap.append('\\u007f') |
433 _jsonmap.append('\\u007f') |
434 _jsonmap[0x09] = '\\t' |
434 _jsonmap[0x09] = '\\t' |
435 _jsonmap[0x0a] = '\\n' |
435 _jsonmap[0x0a] = '\\n' |
436 _jsonmap[0x22] = '\\"' |
436 _jsonmap[0x22] = '\\"' |
437 _jsonmap[0x5c] = '\\\\' |
437 _jsonmap[0x5c] = '\\\\' |
439 _jsonmap[0x0c] = '\\f' |
439 _jsonmap[0x0c] = '\\f' |
440 _jsonmap[0x0d] = '\\r' |
440 _jsonmap[0x0d] = '\\r' |
441 _paranoidjsonmap = _jsonmap[:] |
441 _paranoidjsonmap = _jsonmap[:] |
442 _paranoidjsonmap[0x3c] = '\\u003c' # '<' (e.g. escape "</script>") |
442 _paranoidjsonmap[0x3c] = '\\u003c' # '<' (e.g. escape "</script>") |
443 _paranoidjsonmap[0x3e] = '\\u003e' # '>' |
443 _paranoidjsonmap[0x3e] = '\\u003e' # '>' |
444 _jsonmap.extend(chr(x) for x in range(128, 256)) |
444 _jsonmap.extend(pycompat.bytechr(x) for x in range(128, 256)) |
445 |
445 |
446 def jsonescape(s, paranoid=False): |
446 def jsonescape(s, paranoid=False): |
447 '''returns a string suitable for JSON |
447 '''returns a string suitable for JSON |
448 |
448 |
449 JSON is problematic for us because it doesn't support non-Unicode |
449 JSON is problematic for us because it doesn't support non-Unicode |