Colored missing text in table

This commit is contained in:
Kyle Mandli
2011-07-16 10:38:48 -05:00
parent bb03488872
commit 070e7c9cf3
2 changed files with 51 additions and 25 deletions
+12
View File
@@ -271,4 +271,16 @@ th {
.field-list {
font-size: 80%;
}
/* Coverage States */
span.missing{
color: #FFFFFF;
background-color: #ff5840;
border-color: #A77272;
}
span.covered{
color: #106600;
background-color: #60f030;
border-color: #4F8530;
}
+39 -25
View File
@@ -1,7 +1,14 @@
#!/usr/bin/env python
import sys
import os
import csv
# Parameters
missing_string = ":missing:`Not Implemented`"
page_title = "Coverage Tables"
table_names = ["Image Display and Exploration","Image File I/O"]
def table_seperator(cols,lengths,character="-"):
output = "+"
output += '+'.join([character*(length+2) for length in lengths])
@@ -16,42 +23,49 @@ def table_row(data,lengths,num_columns=None):
if len(data)-1 >= i:
entry = data[i]
else:
entry = ""
entry = missing_string
output += " " + entry + " "*(lengths[i] - len(entry)) + " |"
return output
csv_path = 'test.csv'
reader = csv.reader(open(csv_path,'r'),delimiter=',',quotechar='"')
# Find number of columns and column widths, base number of columns is
# determined by the headers
page_title = "Coverage Tables"
print page_title
print "="*len(page_title)
print
table_names = ["Image Display and Exploration","Image File I/O"]
for table in table_names:
def generate_table(reader,column_titles=["Functionality","Matlab","Scipy"]):
# Find number of columns and column widths, base number of columns is
# determined by the headers
num_columns = 3
data = [["Functionality","Matlab","Scipy"]]
data = [column_titles]
for row in reader:
if len(row) == 0:
break
data.append([entry.expandtabs() for entry in row])
num_columns = max(num_columns,len(row))
column_lengths = [0]*num_columns
column_lengths = [len(missing_string)]*num_columns
for row in data:
for i in xrange(len(row)):
column_lengths[i] = max(column_lengths[i],len(row[i]))
print table
print "-"*len(table)
print
print table_seperator(num_columns,column_lengths,character="-")
print table_row(data[0],column_lengths,num_columns)
print table_seperator(num_columns,column_lengths,character="=")
output = table + "\n"
output += "-"*len(table)+"\n\n"
output += table_seperator(num_columns,column_lengths,character="-") + "\n"
output += table_row(data[0],column_lengths,num_columns) + "\n"
output += table_seperator(num_columns,column_lengths,character="=") + "\n"
for row in data[1:]:
print table_row(row,column_lengths,num_columns)
print table_seperator(num_columns,column_lengths,character='-')
print
print
output += table_row(row,column_lengths,num_columns) + "\n"
output += table_seperator(num_columns,column_lengths,character='-') + "\n"
output += "\n\n"
return output
if __name__ == "__main__":
if len(sys.argv) > 1:
csv_path = os.path.abspath(sys.argv[1])
else:
csv_path = './coverage.csv'
reader = csv.reader(open(csv_path,'r'),delimiter=',',quotechar='"')
print page_title
print "="*len(page_title)
print
print ".. role:: missing"
print
for table in table_names:
print generate_table(reader)