Author: fw
Date: 2005-09-15 11:51:26 +0000 (Thu, 15 Sep 2005)
New Revision: 1997
Modified:
lib/python/bugs.py
lib/python/security_db.py
Log:
Keep track of advisory release dates so that we can generate links to
Debian advisories.
lib/python/security_db.py (DB):
Change database schema: Add release_date column to bugs table.
lib/python/security_db.py (BugBase, BugFromDB):
Add date attribute.
Modified: lib/python/bugs.py
==================================================================---
lib/python/bugs.py 2005-09-15 10:41:24 UTC (rev 1996)
+++ lib/python/bugs.py 2005-09-15 11:51:26 UTC (rev 1997)
@@ -276,11 +276,11 @@
import apsw
try:
cursor.execute("""INSERT INTO bugs
- (name, cve_status, not_for_us, description,
+ (name, cve_status, not_for_us, description, release_date,
source_file, source_line)
- VALUES (?, ?, ?, ?, ?, ?)""",
+ VALUES (?, ?, ?, ?, ?, ?, ?)""",
(self.name, self.cveStatus(), not_for_us,
- self.description,
+ self.description, self.date or
'''',
self.source_file, self.source_line))
except apsw.ConstraintError:
raise ValueError, "bug name %s is not unique" % self.name
@@ -326,7 +326,8 @@
data[rdesc[j][0]] = r[j]
# FIXME: load date
Bug.__init__(self, data[''source_file''],
data[''source_line''],
- None, name, data[''description''],
comments=[],
+ data[''release_date''], name,
+ data[''description''], comments=[],
notes=[], xref=[],
not_for_us=not not
data[''not_for_us''])
for (x,) in cursor.execute\
Modified: lib/python/security_db.py
==================================================================---
lib/python/security_db.py 2005-09-15 10:41:24 UTC (rev 1996)
+++ lib/python/security_db.py 2005-09-15 11:51:26 UTC (rev 1997)
@@ -96,13 +96,17 @@
''sarge'' :
''stable'',
''woody'':
''oldstable''}
- self.schema_version = 2
+ self.schema_version = 4
c = self.cursor()
for (v,) in c.execute("PRAGMA user_version"):
if v == 0:
self.initSchema()
elif v <> self.schema_version:
+ if self.verbose:
+ print "DB: schema version mismatch: expected %d, got
%d" \
+ % (self.schema_version, v)
+ self.db.close()
raise SchemaMismatch, `v`
return
assert False
@@ -204,6 +208,7 @@
('''', ''CANDIDATE'',
''ASSIGNED'', ''RESERVED'',
''REJECTED'')),
not_for_us INTEGER NOT NULL CHECK (not_for_us IN (0, 1)),
description TEXT NOT NULL,
+ release_date TEXT NOT NULL,
source_file TEXT NOT NULL,
source_line INTEGER NOT NULL)""")