summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorDon Zickus <dzickus@redhat.com>2008-09-29 16:33:30 -0400
committerWill Woods <wwoods@redhat.com>2008-10-13 17:11:21 -0400
commita717ea885beeb87b5d6b5a6a5fecf6f5d486ec78 (patch)
tree850c100883f04dea8584168ad0b42bce52524393 /bin
parenteaf1d6de32be2b06c93c5d70587e39d44b4d7d07 (diff)
downloadpython-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-xbin/bugzilla18
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.")