X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=blobdiff_plain;f=dak%2Fprocess_upload.py;h=d5425e058ccfa2de6c87dc43e8ec24cce83c5915;hp=0f89f46b8765c0be4a65eb55b791b95a0995b980;hb=026bdb9580e6d18bf504d2f44d46890df5d89f1a;hpb=e69060c1cca5a08ee5ae4ad7232a9eb51d3d09c5 diff --git a/dak/process_upload.py b/dak/process_upload.py index 0f89f46b..d5425e05 100755 --- a/dak/process_upload.py +++ b/dak/process_upload.py @@ -243,7 +243,7 @@ def get_processed_upload(upload): pu.changes = open(upload.changes.path, 'r').read() pu.changes_filename = upload.changes.filename - pu.sourceful = upload.changes.source is not None + pu.sourceful = upload.changes.sourceful pu.source = control.get('Source') pu.version = control.get('Version') pu.architecture = control.get('Architecture') @@ -251,6 +251,8 @@ def get_processed_upload(upload): pu.program = "process-upload" + pu.warnings = upload.warnings + return pu @try_or_reject @@ -258,6 +260,7 @@ def accept(directory, upload): cnf = Config() Logger.log(['ACCEPT', upload.changes.filename]) + print "ACCEPT" upload.install() @@ -294,9 +297,9 @@ def accept(directory, upload): @try_or_reject def accept_to_new(directory, upload): - cnf = Config() Logger.log(['ACCEPT-TO-NEW', upload.changes.filename]) + print "ACCEPT-TO-NEW" upload.install_to_new() # TODO: tag bugs pending @@ -316,6 +319,7 @@ def real_reject(directory, upload, reason=None, notify=True): cnf = Config() Logger.log(['REJECT', upload.changes.filename]) + print "REJECT" fs = upload.transaction.fs rejectdir = cnf['Dir::Reject'] @@ -374,12 +378,13 @@ def action(directory, upload): if Options["No-Action"] or Options["Automatic"]: answer = 'S' - queuekey = '' - print summary print print "\n".join(package_info) print + if len(upload.warnings) > 0: + print "\n".join(upload.warnings) + print if len(upload.reject_reasons) > 0: print "Reason:" @@ -446,7 +451,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) @@ -455,6 +460,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)) @@ -465,6 +477,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: @@ -478,9 +491,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) ###############################################################################