[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