aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/common.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-02-11 18:23:07 +1300
committerAldo Cortesi <aldo@nullcube.com>2012-02-11 18:23:07 +1300
commitf25156a6377b89ea34899fb61a94694361a7e511 (patch)
treebae33713d3a53048c26c9909d0b0e87448ac906e /libmproxy/console/common.py
parent3e70fa8d581c845323b9bbe2ec75cf2c8df7a49f (diff)
downloadmitmproxy-f25156a6377b89ea34899fb61a94694361a7e511.tar.gz
mitmproxy-f25156a6377b89ea34899fb61a94694361a7e511.tar.bz2
mitmproxy-f25156a6377b89ea34899fb61a94694361a7e511.zip
Better formatting for headers, help and other key-value displays.
We now use proper Columns, rather than laying it out manually.
Diffstat (limited to 'libmproxy/console/common.py')
-rw-r--r--libmproxy/console/common.py34
1 files changed, 17 insertions, 17 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py
index 658c94b1..28cf20cb 100644
--- a/libmproxy/console/common.py
+++ b/libmproxy/console/common.py
@@ -27,7 +27,8 @@ def highlight_key(s, k):
return l
-def format_keyvals(lst, key="key", val="text", space=5, indent=0):
+KEY_MAX = 30
+def format_keyvals(lst, key="key", val="text", indent=0):
"""
Format a list of (key, value) tuples.
@@ -37,24 +38,25 @@ def format_keyvals(lst, key="key", val="text", space=5, indent=0):
"""
ret = []
if lst:
- pad = max(len(i[0]) for i in lst if i and i[0]) + space
+ maxk = min(max(len(i[0]) for i in lst if i and i[0]), KEY_MAX)
for i, kv in enumerate(lst):
if kv is None:
- ret.extend("")
- elif kv[0] is None:
- ret.append(" "*(pad + indent*2))
- ret.extend(kv[1])
+ ret.append(Text(""))
else:
- ret.extend(
- [
- " "*indent,
- (key, kv[0]),
- " "*(pad-len(kv[0])),
- (val, kv[1]),
- ]
+ ret.append(
+ urwid.Columns(
+ [
+ ("fixed", indent, urwid.Text("")),
+ (
+ "fixed",
+ maxk,
+ urwid.Text([(key, kv[0] or "")])
+ ),
+ urwid.Text([(val, kv[1])])
+ ],
+ dividechars = 2
+ )
)
- if i < len(lst) - 1:
- ret.append("\n")
return ret
@@ -124,8 +126,6 @@ def format_flow(f, focus, extended=False, padding=2):
return txt
-
-
def int_version(v):
SIG = 3
v = urwid.__version__.split("-")[0].split(".")