improved over.types.ndict.__repr__
This commit is contained in:
parent
c92c0fb6e9
commit
f8b9f983ad
2 changed files with 9 additions and 7 deletions
12
over/misc.py
12
over/misc.py
|
@ -114,7 +114,7 @@ def hexdump(data, indent=0, offset=16, show_header=True, show_offsets=True, show
|
|||
"""
|
||||
Writes a hex dump of `data` to `output`.
|
||||
|
||||
The output text is indented with spaces and contains `offset` bytes per line.
|
||||
The output text is indented with spaces and contains `width` bytes per line.
|
||||
If `show_header` is True, a single line with byte numbers preceeds all output.
|
||||
If `show_offsets` is True, each line is prefixed with the address of the first byte of that line.
|
||||
If `show_ascii` is True, each line is suffixed with its ASCII representation. Unprintable characters
|
||||
|
@ -145,11 +145,11 @@ def hexdump(data, indent=0, offset=16, show_header=True, show_offsets=True, show
|
|||
if show_offsets:
|
||||
line.append("offset"[:offset_figures].ljust(offset_figures + 2))
|
||||
|
||||
for i in range(offset):
|
||||
for i in range(width):
|
||||
line.append("%2x" %(i))
|
||||
|
||||
if show_ascii:
|
||||
line.append(" *{0}*".format("ASCII".center(offset, "-")))
|
||||
line.append(" *{0}*".format("ASCII".center(width, "-")))
|
||||
|
||||
output_io.write(" ".join(line) + "\n")
|
||||
|
||||
|
@ -163,7 +163,7 @@ def hexdump(data, indent=0, offset=16, show_header=True, show_offsets=True, show
|
|||
hex_bytes = []
|
||||
ascii_bytes = []
|
||||
|
||||
for local_i, i in enumerate(range(ptr, ptr+offset)):
|
||||
for local_i, i in enumerate(range(ptr, ptr+width)):
|
||||
if i < len(data):
|
||||
c = data[i]
|
||||
hex_bytes.append("%02x" %(c))
|
||||
|
@ -173,7 +173,7 @@ def hexdump(data, indent=0, offset=16, show_header=True, show_offsets=True, show
|
|||
else:
|
||||
ascii_bytes.append(".")
|
||||
elif i == len(data):
|
||||
hex_bytes.extend([" "] * (offset - local_i))
|
||||
hex_bytes.extend([" "] * (width - local_i))
|
||||
|
||||
if use_colors: output_io.write(text.render("<W>"))
|
||||
output_io.write(" ".join(hex_bytes))
|
||||
|
@ -186,7 +186,7 @@ def hexdump(data, indent=0, offset=16, show_header=True, show_offsets=True, show
|
|||
|
||||
output_io.write("\n")
|
||||
|
||||
ptr += offset
|
||||
ptr += width
|
||||
|
||||
if not output:
|
||||
output_io.seek(0)
|
||||
|
|
|
@ -26,7 +26,9 @@ class ndict:
|
|||
object.__setattr__(self, "d", OrderedDict(*args, **kwargs))
|
||||
|
||||
def __repr__(self):
|
||||
return "|" + repr(self.d)
|
||||
atoms = ["(%s, %s)" %(repr(k), repr(v)) for k, v in self.items()]
|
||||
|
||||
return "ndict([" + ", ".join(atoms) + "])"
|
||||
|
||||
def __iter__(self):
|
||||
return self.d.__iter__()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue