diff options
author | Don Zickus <dzickus@redhat.com> | 2008-09-29 16:33:30 -0400 |
---|---|---|
committer | Will Woods <wwoods@redhat.com> | 2008-10-13 17:11:21 -0400 |
commit | a717ea885beeb87b5d6b5a6a5fecf6f5d486ec78 (patch) | |
tree | 850c100883f04dea8584168ad0b42bce52524393 /bin | |
parent | eaf1d6de32be2b06c93c5d70587e39d44b4d7d07 (diff) | |
download | python-bugzilla-a717ea885beeb87b5d6b5a6a5fecf6f5d486ec78.tar.gz python-bugzilla-a717ea885beeb87b5d6b5a6a5fecf6f5d486ec78.tar.xz python-bugzilla-a717ea885beeb87b5d6b5a6a5fecf6f5d486ec78.zip |
Add new output option --oneline for quick bz summary
This new option allows developers at a glance to quickly see where their
bugzilla stands. Not only does it show the normal info like bz, name,
state, but also adds flags and CVE info.
An example would be
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/bugzilla | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/bin/bugzilla b/bin/bugzilla index b9cc8ec..40c0d08 100755 --- a/bin/bugzilla +++ b/bin/bugzilla @@ -170,6 +170,8 @@ def setup_action_parser(action): const='ids',help="output only bug IDs") p.add_option('-e','--extra',action='store_const',dest='output', const='extra',help="output additional bug information (keywords, Whiteboards, etc.)") + p.add_option('--oneline', action='store_const', dest='output', + const='oneline',help="one line summary of the bug (useful for scripts)") p.add_option('--outputformat', help="Print output in the form given. You can use RPM-style "+ "tags that match bug fields, e.g.: '%{bug_id}: %{short_desc}'") @@ -484,6 +486,22 @@ def main(): if b.status_whiteboard: print " +Status Whiteboard: ",b.status_whiteboard if b.devel_whiteboard: print " +Devel Whiteboard: ",b.devel_whiteboard print "\nBugs listed: ",len(buglist) + elif opt.output == 'oneline': + for b in fullbuglist: + flags='' + cve='' + #grab all the flags that are set + for i in b.flag_types: + for s in i['flags']: + if s['status']: flags += i['name'] + ":" + str(s['status']) + " " + #grab CVEs by searching the keywords and grabbing that bugzilla + if b.keywords.find("Security") != -1: + for bl in b.blocked: + cvebug = bz.getbug(bl) + if cvebug.alias.find("CVE") != -1: + cve += cvebug.alias + " " + print "#%s %8s %22s %s\t[%s] %s %s" % (b.bug_id, b.bug_status, + b.assigned_to, b.component, b.target_milestone, flags, cve) else: parser.error("opt.output was set to something weird.") |