status-report-scripts pyGetReviewByFlags,1.1,1.2

Christian Iseli (c4chris) fedora-extras-commits at redhat.com
Thu Apr 19 22:36:11 UTC 2007


Author: c4chris

Update of /cvs/fedora/status-report-scripts
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7397

Modified Files:
	pyGetReviewByFlags 
Log Message:
Start to split things up into several pages.


Index: pyGetReviewByFlags
===================================================================
RCS file: /cvs/fedora/status-report-scripts/pyGetReviewByFlags,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- pyGetReviewByFlags	4 Feb 2007 00:02:07 -0000	1.1
+++ pyGetReviewByFlags	19 Apr 2007 22:36:09 -0000	1.2
@@ -2,61 +2,28 @@
 # $Id$
 
 import sys
+import os
 from optparse import OptionParser
 import xmlrpclib
 import datetime
 
 url = 'http://bugzilla.redhat.com/bugzilla/xmlrpc.cgi'
 
-def runQuery(server, flag):
-    querydata = {}
-    querydata['column_list'] = ['opendate', 'changeddate', 'bug_severity', 'alias', 'assigned_to', 'reporter', 'bug_status', 'resolution', 'component', 'blockedby', 'short_desc']
-    querydata['product'] = ['Fedora Extras']
-    querydata['component'] = ['Package Review']
-    querydata['field0-0-0'] = 'flagtypes.name'
-    if flag == " ":
-	querydata['bug_status'] = ["NEW", "ASSIGNED", "REOPENED", "NEEDINFO", "INVESTIGATE", "MODIFIED"]
-	querydata['type0-0-0'] = 'notregexp';
-	querydata['value0-0-0'] = 'fedora-review[-+?]'
-    else:
-	querydata['bug_status'] = ["NEW", "VERIFIED", "ASSIGNED", "REOPENED", "CLOSED", "NEEDINFO_ENG", "NEEDINFO", "INVESTIGATE", "MODIFIED", "ON_DEV", "UNCONFIRMED", "QA_READY", "ON_QA", "FAILS_QA", "NEEDINFO_REPORTER", "RELEASE_PENDING", "POST"]
-	querydata['type0-0-0'] = 'equals'
-	querydata['value0-0-0'] = "fedora-review" + flag
-    call = server.bugzilla.runQuery(querydata)
-#  if ($call->faultstring) {
-#    print STDERR $call->faultstring . "\n";
-#    exit 1;
-#  }
-    bugs = call['bugs']
-#  print @{$result->{'bugs'}} . " bug(s) found.\n\n";
-#  my @A = sort {$a->{'short_desc'} cmp $b->{'short_desc'}} @{$result->{'bugs'}};
-    cnt = 0
-    for e in bugs:
-	cnt += 1
-	if (cnt % 2) == 1:
-	    print '<tr class="bz_even bz_'
-	else:
-	    print '<tr class="bz_odd bz_'
-	print e['bug_status'], ' onMouseOver="bug_over(this, 0);">', "\n"
-	print """
-<td>
-<a href="show_bug.cgi?id=%s">%s</a>
-</td><td><nobr>
-<span title="%s">%s</span>
-</nobr></td><td><nobr>
-<span title="%s">%s</span>
-</nobr></td><td><nobr>
-<span title="%s">%s</span>
-</nobr></td><td><nobr>
-<span title="%s">%s</span>
-</nobr></td><td><nobr>
-<span title="%s">%s</span>
-</nobr></td></tr>
-""" % (e['bug_id'], e['bug_id'], e['alias'], e['alias'], e['assigned_to'], e['assigned_to'], e['bug_status'], e['bug_status'], e['resolution'], e['resolution'], e['short_desc'], e['short_desc'])
+usage = "usage: %prog [options] -d <dest_dir>"
+parser = OptionParser(usage)
+parser.add_option("-d", "--destination", dest="dirname",
+		  help="destination directory")
+parser.add_option("-f", "--frequency", dest="frequency",
+		  help="update frequency", default="60")
+(options, args) = parser.parse_args()
+tst = str(options.dirname)
+if str(options.dirname) == 'None':
+    parser.error("Please specify destination directory")
+if not os.path.isdir(options.dirname):
+    parser.error("Please specify an existing destination directory")
 
-server = xmlrpclib.Server(url)
-
-print """
+def printHeader(f):
+    print >> f, """
 <html>
   <head>
     <base href="https://bugzilla.redhat.com/bugzilla/"/>
@@ -74,18 +41,16 @@
   <body>
     <div id="innerWrap">
       <p align="left" style='background-color: #99f;'>This is a cached copy of
-      the Core packages review tickets that are a part of
-      the Core + Extras merge.  It's intended to make interacting with
-      bugzilla faster.  It is updated every ?? minutes.
+      the package review tickets.  It is intended to make interacting with
+      bugzilla faster.  It is updated every %s minutes.
     </p>
     <div id="content_here">
     <p style="background-color: #99f">Last Update: %s </p>
-""" % (datetime.datetime.today())
+""" % (options.frequency, (datetime.datetime.today()))
 
-for flag in ['+', '-', '?', ' ']:
-    if flag == ' ':
-	print """
-<p style="background-color: #99f">Open ticket(s) with an empty flag</p>
+def runQuery(server, flag, f, openMsg):
+    print >> f, """
+<p style="background-color: #99f">%s</p>
 <table class="buglist" cellspacing="0" cellpadding="4" width="100%%">
 <colgroup>
 <col class="bz_id_column">
@@ -104,34 +69,93 @@
 <td>Resolution</td>
 <td>Summary</td>
 </thead>
-"""
+""" % openMsg
+    querydata = {}
+    querydata['column_list'] = ['opendate', 'changeddate', 'bug_severity', 'alias', 'assigned_to', 'reporter', 'bug_status', 'resolution', 'component', 'blockedby', 'short_desc']
+    querydata['product'] = ['Fedora Extras']
+    querydata['component'] = ['Package Review']
+    querydata['field0-0-0'] = 'flagtypes.name'
+    if flag == " ":
+	querydata['bug_status'] = ["NEW", "ASSIGNED", "REOPENED", "NEEDINFO", "INVESTIGATE", "MODIFIED"]
+	querydata['type0-0-0'] = 'notregexp';
+	querydata['value0-0-0'] = 'fedora-review[-+?]'
     else:
-	print """
-<p style="background-color: #99f">Ticket(s) with a '%s' flag</p>
-<table class="buglist" cellspacing="0" cellpadding="4" width="100%%">
-<colgroup>
-<col class="bz_id_column">
-<col class="bz_alias_column">
-<col class="bz_assigned_to_column">
-<col class="bz_bug_status_column">
-<col class="bz_resolution_column">
-<col class="bz_short_short_desc_column">
-</colgroup>
-<thead>
-<tr align="left">
-<td>ID</td>
-<td>Alias</td>
-<td>Assignee</td>
-<td>Status</td>
-<td>Resolution</td>
-<td>Summary</td>
-</thead>
-""" % (flag)
-    runQuery(server, flag)
-    print "</table>\n"
-print """
+	querydata['bug_status'] = ["NEW", "VERIFIED", "ASSIGNED", "REOPENED", "CLOSED", "NEEDINFO_ENG", "NEEDINFO", "INVESTIGATE", "MODIFIED", "ON_DEV", "UNCONFIRMED", "QA_READY", "ON_QA", "FAILS_QA", "NEEDINFO_REPORTER", "RELEASE_PENDING", "POST"]
+	querydata['type0-0-0'] = 'equals'
+	querydata['value0-0-0'] = "fedora-review" + flag
+    call = server.bugzilla.runQuery(querydata)
+    bugs = call['bugs']
+    cnt = 0
+    for e in bugs:
+	cnt += 1
+	if (cnt % 2) == 1:
+	    print >> f, '<tr class="bz_even bz_'
+	else:
+	    print >> f, '<tr class="bz_odd bz_'
+	print >> f, e['bug_status'], ' onMouseOver="bug_over(this, 0);">', "\n"
+	print >> f, """
+<td>
+<a href="show_bug.cgi?id=%s">%s</a>
+</td><td><nobr>
+<span title="%s">%s</span>
+</nobr></td><td><nobr>
+<span title="%s">%s</span>
+</nobr></td><td><nobr>
+<span title="%s">%s</span>
+</nobr></td><td><nobr>
+<span title="%s">%s</span>
+</nobr></td><td><nobr>
+<span title="%s">%s</span>
+</nobr></td></tr>
+""" % (e['bug_id'], e['bug_id'], e['alias'], e['alias'], e['assigned_to'], e['assigned_to'], e['bug_status'], e['bug_status'], e['resolution'], e['resolution'], e['short_desc'], e['short_desc'])
+    print >> f, "</table>\n"
+
+server = xmlrpclib.Server(url)
+
+fname = os.path.join(options.dirname, "NEW")
+try:
+    f = open(fname, "w")
+except IOError, (err, strerr):
+    print 'ERROR: %s: %s' % (strerr, fname)
+    sys.exit(1)
+printHeader(f)
+runQuery(server, ' ', f, "Open ticket(s) with an empty flag")
+print >> f, """
     </div></div>
   </body>
 </html>
 """
+f.close()
+
+#for flag in ['+', '-', '?']:
+#    if flag == ' ':
+#    else:
+#	print """
+#<p style="background-color: #99f">Ticket(s) with a '%s' flag</p>
+#<table class="buglist" cellspacing="0" cellpadding="4" width="100%%">
+#<colgroup>
+#<col class="bz_id_column">
+#<col class="bz_alias_column">
+#<col class="bz_assigned_to_column">
+#<col class="bz_bug_status_column">
+#<col class="bz_resolution_column">
+#<col class="bz_short_short_desc_column">
+#</colgroup>
+#<thead>
+#<tr align="left">
+#<td>ID</td>
+#<td>Alias</td>
+#<td>Assignee</td>
+#<td>Status</td>
+#<td>Resolution</td>
+#<td>Summary</td>
+#</thead>
+#""" % (flag)
+#    runQuery(server, flag)
+#    print "</table>\n"
+#print """
+#    </div></div>
+#  </body>
+#</html>
+#"""
 sys.exit(0)




More information about the fedora-extras-commits mailing list