Add a CSV writer for reviewers.

Change-Id: I4fb9ecb7343f5d735126275f8c1f335437a256d9
This commit is contained in:
Robert Collins 2013-10-16 11:37:52 +13:00 committed by Russell Bryant
parent 1cca144f1f
commit 70b24a8421
2 changed files with 16 additions and 3 deletions

View File

@ -26,12 +26,12 @@ metadata() {
for project in ${projects} ; do
project_base=$(basename $(echo ${project} | cut -f1 -d'.'))
for time in 30 60 90 180 ; do
(metadata && ./reviewers.py -p ${project} -d ${time} ${EXTRA_ARGS}) -o results/${project_base}-reviewers-${time}
(metadata && ./reviewers.py -p ${project} -d ${time} ${EXTRA_ARGS}) -o results/${project_base}-reviewers-${time} --outputs txt --outputs csv
done
done
if [ "${all}" = "1" ] ; then
for time in 30 60 90 180 ; do
(metadata && ./reviewers.py -a -d ${time} ${EXTRA_ARGS}) -o results/all-reviewers-${time}
(metadata && ./reviewers.py -a -d ${time} ${EXTRA_ARGS}) -o results/all-reviewers-${time} --outputs txt --outputs csv
done
fi

View File

@ -17,6 +17,7 @@
import calendar
import csv
import datetime
import getpass
import optparse
@ -79,6 +80,17 @@ def process_patchset(project, patchset, reviewers, ts):
reviewers[reviewer]['disagreements'] = cur + 1
def write_csv(reviewer_data, file_obj):
"""Write out reviewers using CSV."""
writer = csv.writer(file_obj)
writer.writerow(
('Reviewer', 'Reviews','-2', '-1', '+1', '+2', '+/- %',
'Disagreements', 'Disagreement%'))
for (name, r_data, d_data) in reviewer_data:
row = (name,) + r_data + d_data
writer.writerow(row)
def write_pretty(reviewer_data, file_obj):
"""Write out reviewers using PrettyTable."""
table = prettytable.PrettyTable(
@ -163,6 +175,7 @@ def main(argv=None):
total += k['total']
# And output.
writers = {
'csv': write_csv,
'txt': write_pretty,
}
if options.output == '-':
@ -173,7 +186,7 @@ def main(argv=None):
file_obj = sys.stdout
on_done = None
else:
file_obj = open(options.outputs + '.' + output, 'wt')
file_obj = open(options.output + '.' + output, 'wt')
on_done = file_obj.close
try:
writer = writers[output]