@session_wrapper
def remove_known_changes(self, session=None):
- session.delete(get_knownchange(self.changes_file, session))
+ session.delete(get_dbchange(self.changes_file, session))
def mark_missing_fields(self):
"""add "missing" in fields which we will require for the known_changes table"""
self.changes[key]='missing'
@session_wrapper
- def add_known_changes(self, dirpath, session=None):
+ def add_known_changes(self, dirpath, in_queue=None, session=None):
"""add "missing" in fields which we will require for the known_changes table"""
cnf = Config()
if isinstance(self.changes[key], dict):
multivalues[key] = " ".join(self.changes[key].keys())
else:
- multivalues[key] = self.changes[key].keys()
+ multivalues[key] = self.changes[key]
+ # TODO: Use ORM
session.execute(
- """INSERT INTO known_changes
- (changesname, seen, source, binaries, architecture, version,
+ """INSERT INTO changes
+ (changesname, in_queue, seen, source, binaries, architecture, version,
distribution, urgency, maintainer, fingerprint, changedby, date)
- VALUES (:changesfile,:filetime,:source,:binary, :architecture,
+ VALUES (:changesfile,:in_queue,:filetime,:source,:binary, :architecture,
:version,:distribution,:urgency,:maintainer,:fingerprint,:changedby,:date)""",
{ 'changesfile': self.changes_file,
'filetime': filetime,
+ 'in_queue': in_queue,
'source': self.changes["source"],
'binary': multivalues["binary"],
'architecture': multivalues["architecture"],
'changedby': self.changes["changed-by"],
'date': self.changes["date"]} )
+ session.commit()
+
+ return session.query(DBChange).filter_by(changesname = self.changes_file).one()
+
def unknown_files_fields(self, name):
return sorted(list( set(self.files[name].keys()) -
set(CHANGESFIELDS_FILES)))