[Oval-commits] r160 - trunk/oval-server/dba

Pavel Vinogradov blaze-guest at alioth.debian.org
Mon Aug 20 05:54:30 UTC 2007


Author: blaze-guest
Date: 2007-08-20 05:54:30 +0000 (Mon, 20 Aug 2007)
New Revision: 160

Modified:
   trunk/oval-server/dba/dba.py
Log:
Update database schema

Modified: trunk/oval-server/dba/dba.py
===================================================================
--- trunk/oval-server/dba/dba.py	2007-08-20 05:11:30 UTC (rev 159)
+++ trunk/oval-server/dba/dba.py	2007-08-20 05:54:30 UTC (rev 160)
@@ -15,25 +15,25 @@
 	__dbStruct = """		
 		drop table if exists agents;
 		create table agents(
-				agentID int primary key,
+				agentID INTEGER primary key AUTOINCREMENT,
 				agentName varchar(255),
-				agentStatus smallint,
-				agentTimestamp datetime
+				agentStatus smallint DEFAULT 0,
+				agentTimestamp datetime DEFAULT CURRENT_TIMESTAMP
 		);
 		
 		drop table if exists vulnerabilities;
 		create table vulnerabilities(
-				vulnID int primary key,
-				vulnDSA int,
+				vulnID INTEGER primary key AUTOINCREMENT,
+				vulnDSA INTEGER,
 				vulnLocation carchar(255),
 				vulnTimestamp datetime
 		);
 
 		drop table if exists affected;
 		create table affected(
-				id int primary key,
-				agentID int,
-				vulnDSA int,
+				id INTEGER primary key AUTOINCREMENT,
+				agentID INTEGER,
+				vulnDSA INTEGER,
 				vulnTimestamp datetime,
 				status smallint
 		);"""
@@ -82,7 +82,7 @@
 		if self.cursor.fetchall():
 			raise AgentAlreadyExistExiption
 		else:
-			self.cursor.execute ('INSERT INTO agents (agentName, agentTimestamp) VALUES (\'%s\', \'%s\')' %
+			self.cursor.execute ('INSERT INTO agents (agentID, agentName, agentTimestamp) VALUES (NULL, \'%s\', \'%s\')' %
 								(agentName, datetime.now().strftime('%Y-%m-%d %H:%M')))
 	
 	def getAgentInfo(self, agentName):
@@ -91,18 +91,17 @@
 			return 1
 		else:
 			return 0
-
-	def getDSAreport (self):
-		self.cursor.execute ('SELECT vulnDSA, vulnTimestamp, vulnLocation from vulnerabilities;')
-		return (self.cursor.fetchall())
-	
+	def getAgentsList(self):
+		self.cursor.execute ('SELECT agentID, agentName FROM agents')
+		return self.cursor.fetchall()
+		
 	def makeDefList (self, agentID):
 		self.cursor.execute (
 				"""SELECT vulnLocation FROM vulnerabilities 
 					LEFT JOIN affected 
 					ON vulnerabilities.vulnDSA = affected.vulnDSA 
-					WHERE vulnerabilities.vulnTimestamp > affected.vulnTimestamp OR affected.vulnTimestamp IS NULL;
-			""")
+					WHERE affected.agentID = %d AND vulnerabilities.vulnTimestamp > affected.vulnTimestamp OR affected.vulnTimestamp IS NULL;
+			""" % agentID)
 		return self.cursor.fetchall()
 		
 if __name__ == "__main__":




More information about the Oval-commits mailing list