Move code from display.py into machine_kernel.cgi



git-svn-id: http://test.kernel.org/svn/autotest/trunk@677 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/display.py b/tko/display.py
index 6502a4d..e898849 100755
--- a/tko/display.py
+++ b/tko/display.py
@@ -1,8 +1,4 @@
-import os, re, parse, sys, db, frontend
-sys.path.insert(0, '/home/mbligh/autotest/client/bin')
-import kernel_versions
-
-db = db.db() # db.db(debug=True)
+import os, re, parse, sys, frontend
 
 color_map = {
 	'GOOD'		: '#66ff66', # green
@@ -62,46 +58,6 @@
 	print '</table>'
 
 
-def kernel_machine_box(kernel, machine):
-	status = None
-	status_word = ''
-	tests = frontend.test.select(db, { 'kernel_idx' : kernel.idx ,
-					   'machine' : machine })
-	for t in tests:
-		if not status or t.status_num < status:
-			status = t.status_num
-			status_word = db.status_word[status]
-
-	link = 'machine_kernel_test.cgi?machine=%s&kernel=%s' % \
-					(machine, kernel.idx)
-	if status_word:
-		html = '<a href="%s">%s</a>' % (link, status_word)
-	else:
-		html = None
-	return box(html, color_key = status_word)
-
-
-def kernel_encode(kernel):
-	return kernel_versions.version_encode(kernel.printable)
-
-
-def print_machines_vs_all_kernels(machines):
-	header_row = [ box(x, header=True) for x in ['Version'] + machines ] 
-
-	kernels = frontend.kernel.select(db)
-	kernels.sort(key = kernel_encode, reverse = True)
-
-	matrix = [header_row]
-	for kernel in kernels:
-		row = [box(kernel.printable)]
-		for machine in machines:
-			row.append(kernel_machine_box(kernel, machine))
-		matrix.append(row)
-	matrix.append(header_row)
-
-	print_table(matrix)
-
-
 def sort_tests(tests):
 	kernel_order = ['patch', 'config', 'build', 'mkinitrd', 'install']
 
diff --git a/tko/machine_kernel.cgi b/tko/machine_kernel.cgi
new file mode 100755
index 0000000..a9111be
--- /dev/null
+++ b/tko/machine_kernel.cgi
@@ -0,0 +1,62 @@
+#!/usr/bin/python
+
+import cgi, cgitb, os, sys
+cgitb.enable()
+
+tko = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0])))
+sys.path.insert(0, tko)
+import db, frontend, display
+client_bin = os.path.abspath(os.path.join(tko, '../client/bin'))
+sys.path.insert(0, client_bin)
+import kernel_versions
+
+db = db.db()
+
+
+def main():
+	print "Content-type: text/html\n"
+	print_machines_vs_all_kernels(['cagg2', 'cagg4', 'cagg6', 'elm3b163'])
+
+
+def kernel_machine_box(kernel, machine):
+	status = None
+	status_word = ''
+	tests = frontend.test.select(db, { 'kernel_idx' : kernel.idx ,
+					   'machine' : machine })
+	for t in tests:
+		if not status or t.status_num < status:
+			status = t.status_num
+			status_word = db.status_word[status]
+
+	link = 'machine_kernel_test.cgi?machine=%s&kernel=%s' % \
+					(machine, kernel.idx)
+	if status_word:
+		html = '<a href="%s">%s</a>' % (link, status_word)
+	else:
+		html = None
+	return display.box(html, color_key = status_word)
+
+
+def kernel_encode(kernel):
+	return kernel_versions.version_encode(kernel.printable)
+
+
+def print_machines_vs_all_kernels(machines):
+	headers = ['Version'] + machines
+	header_row = [ display.box(x, header=True) for x in headers ] 
+
+	kernels = frontend.kernel.select(db)
+	kernels.sort(key = kernel_encode, reverse = True)
+
+	matrix = [header_row]
+	for kernel in kernels:
+		row = [display.box(kernel.printable)]
+		for machine in machines:
+			row.append(kernel_machine_box(kernel, machine))
+		matrix.append(row)
+	matrix.append(header_row)
+
+	display.print_table(matrix)
+
+
+main()