X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=daklib%2Fchanges.py;h=dd5e373c87dc33942909f51dde3aa3a98634cc15;hb=0df6ae5464efede5f45ff3a02bf42c2e24cd25da;hp=2ecd9af421752d4630c57806abe7ac3803bcb86c;hpb=2cd56ae18c977d13b8676ca60ef9fe85856e71f2;p=dak.git diff --git a/daklib/changes.py b/daklib/changes.py index 2ecd9af4..dd5e373c 100755 --- a/daklib/changes.py +++ b/daklib/changes.py @@ -29,7 +29,6 @@ Changes class for dak import os import stat -import time import datetime from cPickle import Unpickler, Pickler @@ -178,35 +177,33 @@ class Changes(object): return summary + @session_wrapper def remove_known_changes(self, session=None): - if session is None: - session = DBConn().session() - privatetrans = True - session.delete(get_knownchange(self.changes_file, session)) - if privatetrans: - session.commit() - session.close() - - def add_known_changes(self, queue, session=None): - cnf = Config() + def mark_missing_fields(self): + """add "missing" in fields which we will require for the known_changes table""" + for key in ['urgency', 'maintainer', 'fingerprint', 'changed-by' ]: + if (not self.changes.has_key(key)) or (not self.changes[key]): + self.changes[key]='missing' - if session is None: - session = DBConn().session() - privatetrans = True + @session_wrapper + def add_known_changes(self, dirpath, session=None): + """add "missing" in fields which we will require for the known_changes table""" + cnf = Config() - dirpath = cnf["Dir::Queue::%s" % (queue) ] changesfile = os.path.join(dirpath, self.changes_file) filetime = datetime.datetime.fromtimestamp(os.path.getctime(changesfile)) + self.mark_missing_fields() + session.execute( """INSERT INTO known_changes (changesname, seen, source, binaries, architecture, version, distribution, urgency, maintainer, fingerprint, changedby, date) VALUES (:changesfile,:filetime,:source,:binary, :architecture, :version,:distribution,:urgency,:maintainer,:fingerprint,:changedby,:date)""", - { 'changesfile':changesfile, + { 'changesfile':self.changes_file, 'filetime':filetime, 'source':self.changes["source"], 'binary':self.changes["binary"],