diff options
Diffstat (limited to 'libbe/cmdutil.py')
-rw-r--r-- | libbe/cmdutil.py | 32 |
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"): |