equal
deleted
inserted
replaced
42 for k, v in sorted(o.items()))) |
42 for k, v in sorted(o.items()))) |
43 elif isinstance(o, tuple): |
43 elif isinstance(o, tuple): |
44 return '(%s)' % (b', '.join(pprint(a, bprefix=bprefix) for a in o)) |
44 return '(%s)' % (b', '.join(pprint(a, bprefix=bprefix) for a in o)) |
45 else: |
45 else: |
46 return pycompat.byterepr(o) |
46 return pycompat.byterepr(o) |
|
47 |
|
48 def prettyrepr(o): |
|
49 """Pretty print a representation of a possibly-nested object""" |
|
50 lines = [] |
|
51 rs = pycompat.byterepr(o) |
|
52 p = 0 |
|
53 while p < len(rs): |
|
54 q = rs.find('<', p + 1) |
|
55 if q < 0: |
|
56 q = len(rs) |
|
57 l = rs.count('<', 0, p) - rs.count('>', 0, p) |
|
58 assert l >= 0 |
|
59 lines.append((l, rs[p:q].rstrip())) |
|
60 p = q |
|
61 return '\n'.join(' ' * l + s for l, s in lines) |
47 |
62 |
48 def binary(s): |
63 def binary(s): |
49 """return true if a string is binary data""" |
64 """return true if a string is binary data""" |
50 return bool(s and '\0' in s) |
65 return bool(s and '\0' in s) |
51 |
66 |