DB schema/parse change to store user name and user assigned labels for tests.

From:  radha@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@813 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/create_db b/tko/create_db
index 5659d09..fdf19d2 100644
--- a/tko/create_db
+++ b/tko/create_db
@@ -21,6 +21,8 @@
 CREATE TABLE jobs (
 job_idx int(10) unsigned NOT NULL auto_increment PRIMARY KEY,		-- index number
 tag VARCHAR(100),			-- job key
+label VARCHAR(100),                     -- job label assigned by user
+user VARCHAR(80),			-- user name
 machine_idx int(10)			-- reference to machine table
 ) TYPE=InnoDB;
 
diff --git a/tko/db.py b/tko/db.py
index 5e6cc29..f83e789 100644
--- a/tko/db.py
+++ b/tko/db.py
@@ -142,10 +142,11 @@
 		if not job.machine_idx:
 			job.machine_idx = self.insert_machine(job.machine,
 		                                              commit=commit)
-		self.insert('jobs',
-		            {'tag':tag,
-		             'machine_idx':job.machine_idx},
-                            commit=commit)
+		self.insert('jobs', {'tag':tag,
+                                     'label': job.label,
+                                     'user': job.user,
+		                     'machine_idx':job.machine_idx},
+                                     commit=commit)
 		job.index = self.find_job(tag)
 		for test in job.tests:
 			self.insert_test(job, test, commit=commit)
diff --git a/tko/parse.py b/tko/parse.py
index 24c8f66..dab8750 100755
--- a/tko/parse.py
+++ b/tko/parse.py
@@ -5,6 +5,8 @@
 build_stock = re.compile('build generic stock (2\.\S+)')	
 build_url   = re.compile('build generic url \S*/linux-(2\.\d\.\d+(\.\d+)?(-rc\d+)?).tar')	
 valid_kernel= re.compile('2\.\d\.\d+(\.\d+)?(-rc\d+)?(-(git|bk))\d+')
+user = re.compile(r'user(\s*)=')
+label = re.compile(r'label(\s*)=')
 
 debug = True
 
@@ -32,6 +34,18 @@
 		self.tests = []
 		self.kernel = None
 
+		# Get the user + tag info from the keyval file.
+		jobkeyval = os.path.join(dir, "keyval")
+		self.user = None
+		self.label = None
+		if os.path.exists(jobkeyval):
+			for line in open(jobkeyval, 'r').readlines():
+				if user.search(line):
+					(key, value) = line.split('=', 1)
+					self.user = value.strip()
+				if label.search(line):
+					(key,value) = line.split('=', 1)
+					self.label = value.strip()
 		if not os.path.exists(self.status):
 			return None