status-report-scripts review-stats.py,1.3,1.4
Jason ティビツ
tibbs at fedoraproject.org
Thu Oct 22 03:59:39 UTC 2009
Author: tibbs
Update of /cvs/fedora/status-report-scripts
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25574
Modified Files:
review-stats.py
Log Message:
Add nice index page.
Refactor some code.
Bump version to 2.1.
Index: review-stats.py
===================================================================
RCS file: /cvs/fedora/status-report-scripts/review-stats.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- review-stats.py 15 Oct 2009 18:47:56 -0000 1.3
+++ review-stats.py 22 Oct 2009 03:59:08 -0000 1.4
@@ -1,5 +1,5 @@
#!/usr/bin/python -t
-VERSION = "2.0"
+VERSION = "2.1"
# $Id$
# Note: This script presently lives in internal git and external cvs. External
@@ -163,6 +163,22 @@
# Tickets awaiting review but which were hidden for some reason
# That should be all tickets in the Package Review component
+def write_html(loader, template, data, dir, fname):
+ '''Load and render the given template with the given data to the given
+ filename in the specified directory.'''
+ tmpl = loader.load(template)
+ output = tmpl.generate(**data)
+
+ path = os.path.join(dir, fname)
+ try:
+ f = open(path, "w")
+ except IOError, (err, strerr):
+ print 'ERROR: %s: %s' % (strerr, path)
+ sys.exit(1)
+
+ f.write(output.render())
+ f.close()
+
def report_hidden(bugs, bugdata, loader, tmpdir):
data = {
'count': 0,
@@ -193,18 +209,8 @@
})
data['count'] +=1
- tmpl = loader.load('plain.html')
- output = tmpl.generate(**data)
-
- fname = os.path.join(tmpdir, "HIDDEN.html")
- try:
- f = open(fname, "w")
- except IOError, (err, strerr):
- print 'ERROR: %s: %s' % (strerr, fname)
- sys.exit(1)
+ write_html(loader, 'plain.html', data, tmpdir, 'HIDDEN.html')
- f.write(output.render())
- f.close()
return data['count']
def report_merge(bugs, bugdata, loader, tmpdir):
@@ -238,18 +244,8 @@
})
data['count'] +=1
- tmpl = loader.load('plain.html')
- output = tmpl.generate(**data)
-
- fname = os.path.join(tmpdir, "MERGE.html")
- try:
- f = open(fname, "w")
- except IOError, (err, strerr):
- print 'ERROR: %s: %s' % (strerr, fname)
- sys.exit(1)
+ write_html(loader, 'plain.html', data, tmpdir, 'MERGE.html')
- f.write(output.render())
- f.close()
return data['count']
def report_needsponsor(bugs, bugdata, loader, tmpdir):
@@ -289,19 +285,8 @@
data['count'] +=1
curcount +=1
+ write_html(loader, 'bymonth.html', data, tmpdir, 'NEEDSPONSOR.html')
- tmpl = loader.load('bymonth.html')
- output = tmpl.generate(**data)
-
- fname = os.path.join(tmpdir, "NEEDSPONSOR.html")
- try:
- f = open(fname, "w")
- except IOError, (err, strerr):
- print 'ERROR: %s: %s' % (strerr, fname)
- sys.exit(1)
-
- f.write(output.render())
- f.close()
return data['count']
def report_new(bugs, bugdata, loader, tmpdir):
@@ -348,40 +333,34 @@
curcount +=1
data['months'][-1]['month'] += (" (%d)" % curcount)
- tmpl = loader.load('bymonth.html')
- output = tmpl.generate(**data)
- fname = os.path.join(tmpdir, "NEW.html")
- try:
- f = open(fname, "w")
- except IOError, (err, strerr):
- print 'ERROR: %s: %s' % (strerr, fname)
- sys.exit(1)
+ write_html(loader, 'bymonth.html', data, tmpdir, 'NEW.html')
- f.write(output.render())
- f.close()
return data['count']
if __name__ == '__main__':
options = parse_commandline()
bz = bugzilla.Bugzilla(url=options.url)
+ (bugs, bugdata) = run_query(bz)
+
+ # Don't bother running this stuff until the query completes, since it fails
+ # so often.
loader = TemplateLoader(options.templdir)
tmpdir = tempfile.mkdtemp(dir=options.dirname)
- (bugs, bugdata) = run_query(bz)
- counts = {}
+ data = {}
- counts['new'] = report_new(bugs, bugdata, loader, tmpdir)
- counts['merge'] = report_merge(bugs, bugdata, loader, tmpdir)
- counts['needsponsor'] = report_needsponsor(bugs, bugdata, loader, tmpdir)
- counts['hidden'] = report_hidden(bugs, bugdata, loader, tmpdir)
-# counts['accepted_closed'] = report_accepted_closed(bugs, bugdata, loader, tmpdir)
-# counts['accepted_open'] = report_accepted_open(bugs, bugdata, loader, tmpdir)
-# counts['rejected_closed'] = report_rejected_closed(bugs, bugdata, loader, tmpdir)
-# counts['rejected_open'] = report_rejected_open(bugs, bugdata, loader, tmpdir)
-# counts['review_closed'] = report_review_closed(bugs, bugdata, loader, tmpdir)
-# counts['review_open'] = report_review_open(bugs, bugdata, loader, tmpdir)
-# report_index = report_index(counts, loader, tmpdir)
+ data['new'] = report_new(bugs, bugdata, loader, tmpdir)
+ data['merge'] = report_merge(bugs, bugdata, loader, tmpdir)
+ data['needsponsor'] = report_needsponsor(bugs, bugdata, loader, tmpdir)
+ data['hidden'] = report_hidden(bugs, bugdata, loader, tmpdir)
+# data['accepted_closed'] = report_accepted_closed(bugs, bugdata, loader, tmpdir)
+# data['accepted_open'] = report_accepted_open(bugs, bugdata, loader, tmpdir)
+# data['rejected_closed'] = report_rejected_closed(bugs, bugdata, loader, tmpdir)
+# data['rejected_open'] = report_rejected_open(bugs, bugdata, loader, tmpdir)
+# data['review_closed'] = report_review_closed(bugs, bugdata, loader, tmpdir)
+# data['review_open'] = report_review_open(bugs, bugdata, loader, tmpdir)
+ write_html(loader, 'index.html', data, tmpdir, 'index.html')
for filename in glob.glob(os.path.join(tmpdir, '*')):
newFilename = os.path.basename(filename)
More information about the fedora-extras-commits
mailing list