ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/RateMonShiftTool_dev/TablePrint.py
Revision: 1.2
Committed: Fri Dec 16 19:43:52 2011 UTC (13 years, 4 months ago) by grchrist
Content type: text/x-python
Branch: MAIN
CVS Tags: V00-01-05, V00-01-04, V00-01-03, V00-01-02, V00-01-01, V00-00-34, V00-00-33, MenuAnalyzer_V00-00-02, MenuAnalyzer_V00-00-01, MenuAnalyzer_V1, V00-00-32, V00-00-31, V00-00-30, V00-00-29, V00-00-28, V00-00-27, V00-00-26, V00-00-24, V00-00-23, V00-00-22, V00-00-21, V00-00-20, V00-00-19, V00-00-18, V00-00-17, V00-00-16, V00-00-15, V00-00-14, V00-00-13, V00-00-12, V00-00-11, V00-00-10, V00-00-09, V00-00-08, V00-00-07, V00-00-05, V00-00-04, V00-00-03, V00-00-02, V00-00-01
Branch point for: V00-00-06
Changes since 1.1: +39 -33 lines
Log Message:
More integration: adeded extra table info. fixed bug in ref runs.


File Contents

# Content
1 import sys
2 from colors import *
3 write = sys.stdout.write
4
5 def PrettyPrintTable(Headers,Data,ColWidths,WarningCol=[],border='*'):
6
7 PrintHLine(ColWidths,border)
8 PrintLine(Headers,ColWidths,False,border)
9 PrintHLine(ColWidths,border)
10 if WarningCol==[]:
11 WarningCol=[False]*len(Data)
12 for [line,Warn] in zip(Data,WarningCol):
13 PrintLine(line,ColWidths,Warn,border)
14 PrintHLine(ColWidths,border)
15
16 def PrintHLine(ColWidths,border): ## writes a horizontal line of the right width
17 #write = sys.stdout.write
18 for entry in ColWidths:
19 write(border)
20 for i in range(entry):
21 write(border)
22 write(border)
23 write('\n')
24
25 def PrintLine(line,ColWidths,Warn,border):
26 assert Warn in [True,False]
27 try:
28 assert len(line)==len(ColWidths)
29 except:
30 print line
31 print ColWidths
32 raise
33 if Warn:
34 write(bcolors.FAIL)
35 else:
36 write(bcolors.OKGREEN)
37 if "Trigger" in line[0]:
38 write(bcolors.ENDC)
39
40 for [width, entry] in zip(ColWidths,line):
41 write(border)
42 try:
43 entry = str(entry)
44 except:
45 print "\n\n\n Weird Data .. Bailing out\n\n"
46 sys.exit(0)
47 for i in range(width):
48 if i==0:
49 write(' ')
50 elif i<len(entry)+1:
51 write(entry[i-1])
52 else:
53 write(' ')
54 write(border)
55 write('\n')
56 write(bcolors.ENDC)