mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-29 19:08:44 +00:00
Remove inner_repr, fixup escape_unprintables
This commit is contained in:
parent
1699592f09
commit
1bbb178b6a
@ -2,7 +2,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import netlib.utils
|
import netlib.utils
|
||||||
|
|
||||||
import six
|
from netlib.utils import bytes_to_escaped_str
|
||||||
|
|
||||||
|
|
||||||
SIZE_UNITS = dict(
|
SIZE_UNITS = dict(
|
||||||
@ -55,27 +55,13 @@ def xrepr(s):
|
|||||||
return repr(s)[1:-1]
|
return repr(s)[1:-1]
|
||||||
|
|
||||||
|
|
||||||
def inner_repr(s):
|
|
||||||
"""
|
|
||||||
Returns the inner portion of a string or unicode repr (i.e. without the
|
|
||||||
quotes)
|
|
||||||
"""
|
|
||||||
if (six.PY2 and isinstance(s, unicode)) or isinstance(s, bytes):
|
|
||||||
return repr(s)[2:-1]
|
|
||||||
else:
|
|
||||||
return repr(s)[1:-1]
|
|
||||||
|
|
||||||
|
|
||||||
def escape_unprintables(s):
|
def escape_unprintables(s):
|
||||||
"""
|
"""
|
||||||
Like inner_repr, but preserves line breaks.
|
Like inner_repr, but preserves line breaks.
|
||||||
"""
|
"""
|
||||||
s = s.replace("\r\n", "PATHOD_MARKER_RN")
|
s = s.replace(b"\r\n", b"PATHOD_MARKER_RN")
|
||||||
s = s.replace("\n", "PATHOD_MARKER_N")
|
s = s.replace(b"\n", b"PATHOD_MARKER_N")
|
||||||
if six.PY2:
|
s = bytes_to_escaped_str(s)
|
||||||
s = inner_repr(s)
|
|
||||||
else:
|
|
||||||
s = s.encode('unicode_escape').decode('ascii')
|
|
||||||
s = s.replace("PATHOD_MARKER_RN", "\n")
|
s = s.replace("PATHOD_MARKER_RN", "\n")
|
||||||
s = s.replace("PATHOD_MARKER_N", "\n")
|
s = s.replace("PATHOD_MARKER_N", "\n")
|
||||||
return s
|
return s
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
from pathod import utils
|
from pathod import utils
|
||||||
import tutils
|
import tutils
|
||||||
|
|
||||||
|
import six
|
||||||
|
|
||||||
|
|
||||||
def test_membool():
|
def test_membool():
|
||||||
m = utils.MemBool()
|
m = utils.MemBool()
|
||||||
@ -27,14 +29,8 @@ def test_data_path():
|
|||||||
tutils.raises(ValueError, utils.data.path, "nonexistent")
|
tutils.raises(ValueError, utils.data.path, "nonexistent")
|
||||||
|
|
||||||
|
|
||||||
def test_inner_repr():
|
|
||||||
assert utils.inner_repr("\x66") == "\x66"
|
|
||||||
assert utils.inner_repr(u"foo") == "foo"
|
|
||||||
assert utils.inner_repr(b"foo") == "foo"
|
|
||||||
|
|
||||||
|
|
||||||
def test_escape_unprintables():
|
def test_escape_unprintables():
|
||||||
s = "".join([chr(i) for i in range(255)])
|
s = "".join([chr(i) for i in range(255)])
|
||||||
e = utils.escape_unprintables(s)
|
e = utils.escape_unprintables(six.b(s))
|
||||||
assert e.encode('ascii')
|
assert e.encode('ascii')
|
||||||
assert not "PATHOD_MARKER" in e
|
assert "PATHOD_MARKER" not in e
|
||||||
|
Loading…
Reference in New Issue
Block a user