[Oval-commits] r176 - in trunk/oval-server: OvalServer dba

Pavel Vinogradov blaze-guest at alioth.debian.org
Mon Aug 20 18:25:58 UTC 2007


Author: blaze-guest
Date: 2007-08-20 18:25:57 +0000 (Mon, 20 Aug 2007)
New Revision: 176

Modified:
   trunk/oval-server/OvalServer/OvalHttpServer.py
   trunk/oval-server/dba/dba.py
Log:
Implement update affected table

Modified: trunk/oval-server/OvalServer/OvalHttpServer.py
===================================================================
--- trunk/oval-server/OvalServer/OvalHttpServer.py	2007-08-20 18:09:04 UTC (rev 175)
+++ trunk/oval-server/OvalServer/OvalHttpServer.py	2007-08-20 18:25:57 UTC (rev 176)
@@ -23,7 +23,7 @@
 		
 		for status in data.split('&'):
 			(vulnID, vulnStatus) = status.split('=')
-			db.updateAffected (clientID, vulnID, vulnStatus == 't' and 1 or 0)
+			db.updateAffected (int(clientID), int(vulnID), vulnStatus == 't' and 1 or 0)
 			
 		self.send_response(301)
 		self.end_headers()

Modified: trunk/oval-server/dba/dba.py
===================================================================
--- trunk/oval-server/dba/dba.py	2007-08-20 18:09:04 UTC (rev 175)
+++ trunk/oval-server/dba/dba.py	2007-08-20 18:25:57 UTC (rev 176)
@@ -70,11 +70,16 @@
 		self.cursor.executescript(self.__dbStruct)
 
 	def updateAffected(self, agentID, vulnID, status):
-		print agentID
-		print vulnID
-		print status
-		print 
+		self.cursor.execute ('SELECT id FROM affected WHERE agentID = %d AND vulnDSA = %d' % 
+							(agentID, vulnID))
 		
+		try:
+			id = self.cursor.fetchall()[0][0]
+			self.cursor.execute ('UPDATE  afected set  status = %d, vulnTimestamp = CURRENT_TIMESTAMP WHERE id = %d' % (status, id))
+		except IndexError:
+			self.cursor.execute ('INSERT INTO affected VALUES (NULL, %d, %d, CURRENT_TIMESTAMP, %d)' %
+								(agentID, vulnID, status))
+			
 	def updateDSA(self, dsa, location, timestamp):
 		self.cursor.execute ('SELECT vulnID FROM vulnerabilities WHERE vulnDSA = %d' % dsa)
 		if self.cursor.fetchall():




More information about the Oval-commits mailing list