X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_upload.py;h=627c7dde6ccd8ce05db9cf50481c59a294ddad44;hb=2e773c2c46e1dad84a8868d9b546f261adfe9317;hp=1518d262ad78bc42f221a1630f90804f5578ee1a;hpb=1eeb90f6bf381e10fcd8f0a04437883b443855d5;p=dak.git diff --git a/dak/process_upload.py b/dak/process_upload.py index 1518d262..627c7dde 100755 --- a/dak/process_upload.py +++ b/dak/process_upload.py @@ -454,7 +454,7 @@ def unlink_if_exists(path): if e.errno != errno.ENOENT: raise -def process_it(directory, changes, keyrings, session): +def process_it(directory, changes, keyrings): global Logger print "\n{0}\n".format(changes.filename) @@ -463,6 +463,13 @@ def process_it(directory, changes, keyrings, session): with daklib.archive.ArchiveUpload(directory, changes, keyrings) as upload: processed = action(directory, upload) if processed and not Options['No-Action']: + session = DBConn().session() + history = SignatureHistory.from_signed_file(upload.changes) + if history.query(session) is None: + session.add(history) + session.commit() + session.close() + unlink_if_exists(os.path.join(directory, changes.filename)) for fn in changes.files: unlink_if_exists(os.path.join(directory, fn)) @@ -473,6 +480,7 @@ def process_changes(changes_filenames): session = DBConn().session() keyrings = session.query(Keyring).filter_by(active=True).order_by(Keyring.priority) keyring_files = [ k.keyring_name for k in keyrings ] + session.close() changes = [] for fn in changes_filenames: @@ -486,9 +494,7 @@ def process_changes(changes_filenames): changes.sort(key=lambda x: x[1]) for directory, c in changes: - process_it(directory, c, keyring_files, session) - - session.rollback() + process_it(directory, c, keyring_files) ###############################################################################