From f25156a6377b89ea34899fb61a94694361a7e511 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sat, 11 Feb 2012 18:23:07 +1300 Subject: Better formatting for headers, help and other key-value displays. We now use proper Columns, rather than laying it out manually. --- libmproxy/console/common.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'libmproxy/console/common.py') 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(".") -- cgit v1.2.3