aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/console/common.py')
-rw-r--r--libmproxy/console/common.py34
1 files changed, 20 insertions, 14 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py
index 23d3a4a4..74d510eb 100644
--- a/libmproxy/console/common.py
+++ b/libmproxy/console/common.py
@@ -66,20 +66,26 @@ def format_keyvals(lst, key="key", val="text", indent=0):
if kv is None:
ret.append(urwid.Text(""))
else:
- cols = []
- # This cumbersome construction process is here for a reason:
- # Urwid < 1.0 barfs if given a fixed size column of size zero.
- if indent:
- cols.append(("fixed", indent, urwid.Text("")))
- cols.extend([
- (
- "fixed",
- maxk,
- urwid.Text([(key, kv[0] or "")])
- ),
- kv[1] if isinstance(kv[1], urwid.Widget) else urwid.Text([(val, kv[1])])
- ])
- ret.append(urwid.Columns(cols, dividechars = 2))
+ if isinstance(kv[1], urwid.Widget):
+ v = kv[1]
+ elif kv[1] is None:
+ v = urwid.Text("")
+ else:
+ v = urwid.Text([(val, kv[1])])
+ ret.append(
+ urwid.Columns(
+ [
+ ("fixed", indent, urwid.Text("")),
+ (
+ "fixed",
+ maxk,
+ urwid.Text([(key, kv[0] or "")])
+ ),
+ v
+ ],
+ dividechars = 2
+ )
+ )
return ret