aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/cmdutil.py
diff options
context:
space:
mode:
Diffstat (limited to 'libbe/cmdutil.py')
-rw-r--r--libbe/cmdutil.py32
1 files changed, 19 insertions, 13 deletions
diff --git a/libbe/cmdutil.py b/libbe/cmdutil.py
index 6fb915a..69cfe84 100644
--- a/libbe/cmdutil.py
+++ b/libbe/cmdutil.py
@@ -73,21 +73,27 @@ def get_bug(spec, bug_dir=None):
return matches[0]
def bug_summary(bug, bugs, no_target=False, shortlist=False):
- target = bug.target
- if target is None or no_target:
- target = ""
- else:
- target = " Target: %s" % target
- if bug.assigned is None:
- assigned = ""
- else:
- assigned = " Assigned: %s" % bug.assigned
+ info = [("ID", bug.uuid),
+ ("Short name", unique_name(bug, bugs)),
+ ("Severity", bug.severity),
+ ("Status", bug.status),
+ ("Assigned", bug.assigned),
+ ("Target", bug.target),
+ ("Creator", bug.creator),
+ ("Created", "%s (%s)" % (utility.handy_time(bug.time),utility.time_to_str(bug.time)))]
+ newinfo = []
+ for k,v in info:
+ if v == None:
+ newinfo.append((k,""))
+ else:
+ newinfo.append((k,v))
+ info = newinfo
if shortlist == False:
- return " ID: %s\n Severity: %s\n%s%s\n Creator: %s \n%s\n" % \
- (unique_name(bug, bugs), bug.severity, assigned, target,
- bug.creator, bug.summary)
+ longest_key_len = max([len(k) for k,v in info])
+ infolines = [" %*s : %s\n" % (longest_key_len,k,v) for k,v in info]
+ return "".join(infolines) + "%s\n" % bug.summary
else:
- return "%4s: %s\n" % (unique_name(bug, bugs), bug.summary)
+ return "%s: %s\n" % (unique_name(bug, bugs), bug.summary)
def iter_commands():
for name, module in plugin.iter_plugins("becommands"):