[Oval-commits] r145 - trunk/oval-server/src/dba
Pavel Vinogradov
blaze-guest at alioth.debian.org
Fri Aug 17 18:28:28 UTC 2007
Author: blaze-guest
Date: 2007-08-17 18:28:28 +0000 (Fri, 17 Aug 2007)
New Revision: 145
Modified:
trunk/oval-server/src/dba/dba.py
Log:
Use autocommit mode
Modified: trunk/oval-server/src/dba/dba.py
===================================================================
--- trunk/oval-server/src/dba/dba.py 2007-08-17 16:43:00 UTC (rev 144)
+++ trunk/oval-server/src/dba/dba.py 2007-08-17 18:28:28 UTC (rev 145)
@@ -38,6 +38,7 @@
def __init__ (self, dbpath):
self.__dbPath = dbpath
self.__conn = db.connect(self.__dbPath)
+ self.__conn.isolation_level = None
self.cursor = self.__conn.cursor()
#Chech if tables exists
try:
@@ -63,13 +64,11 @@
self.cursor.execute ('SELECT vulnID FROM vulnerabilities WHERE vulnDSA = %d' % dsa)
if self.cursor.fetchall():
self.cursor.execute ('UPDATE vulnerabilities set vulnLocation = \'%s\', vulnTimestamp = \'%s\' WHERE vulnDSA = %d' % (location, timestamp, dsa))
- self.__conn.commit()
else:
self.__insertDSA(dsa, location, timestamp)
def __insertDSA(self, dsa, location, timestamp):
self.cursor.execute ('INSERT INTO vulnerabilities (vulnDSA, vulnLocation, vulnTimestamp) VALUES (%d, \'%s\', \'%s\')' % (dsa, location, timestamp))
- self.__conn.commit()
def addAgent(self, agentName):
self.cursor.execute ('SELECT agentID FROM agents WHERE agentName = \'%s\'' % agentName)
@@ -82,7 +81,16 @@
def getDSAreport (self):
self.cursor.execute ('SELECT vulnDSA, vulnTimestamp, vulnLocation from vulnerabilities;')
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;
+ """)
+ return self.cursor.fetchall()
if __name__ == "__main__":
sql = dba('/tmp/oval-server.db')
- print sql.getDSAreport()
\ No newline at end of file
+ print sql.makeDefList(1)
\ No newline at end of file
More information about the Oval-commits
mailing list