mercurial/encoding.py
changeset 32156 6c0ae9683437
parent 31774 7d2cbe11ae48
child 32184 cf424dae5dc7
equal deleted inserted replaced
32155:055cca8e167b 32156:6c0ae9683437
   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