Mercurial > hg
comparison mercurial/util.py @ 36629:c98d1c6763a6
util: teach escapedata() about bytearray
re.map doesn't seem to know about bytearray (at least in Python 2).
Cast bytearray to a bytes to work around this inconvenience.
Differential Revision: https://phab.mercurial-scm.org/D2582
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 02 Mar 2018 22:47:18 -0500 |
parents | c6061cadb400 |
children | 29128309c52d |
comparison
equal
deleted
inserted
replaced
36628:70415568ea65 | 36629:c98d1c6763a6 |
---|---|
700 b'\n': br'\n', | 700 b'\n': br'\n', |
701 }) | 701 }) |
702 DATA_ESCAPE_RE = remod.compile(br'[\x00-\x08\x0a-\x1f\\\x7f-\xff]') | 702 DATA_ESCAPE_RE = remod.compile(br'[\x00-\x08\x0a-\x1f\\\x7f-\xff]') |
703 | 703 |
704 def escapedata(s): | 704 def escapedata(s): |
705 if isinstance(s, bytearray): | |
706 s = bytes(s) | |
707 | |
705 return DATA_ESCAPE_RE.sub(lambda m: DATA_ESCAPE_MAP[m.group(0)], s) | 708 return DATA_ESCAPE_RE.sub(lambda m: DATA_ESCAPE_MAP[m.group(0)], s) |
706 | 709 |
707 class fileobjectobserver(object): | 710 class fileobjectobserver(object): |
708 """Logs file object activity.""" | 711 """Logs file object activity.""" |
709 def __init__(self, fh, name, reads=True, writes=True, logdata=False): | 712 def __init__(self, fh, name, reads=True, writes=True, logdata=False): |