From: Joerg Jaspert Date: Wed, 15 Aug 2012 20:04:41 +0000 (+0200) Subject: Merge remote-tracking branch 'ansgar/pu/multiarchive-1' into merge X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=f7624a346a5430ff29425204047f45b6291b1de8;hp=cd20297330031be71dda0e9c4b7ca6e39df954c9;p=dak.git Merge remote-tracking branch 'ansgar/pu/multiarchive-1' into merge * ansgar/pu/multiarchive-1: dak/process_policy.py, daklib/announce.py: fix bugs in new announce code dak/process_upload.py: convert exception to string dak/process_policy.py: only remove changes entey for rejected uploads daklib/announce.py: fix typo Signed-off-by: Joerg Jaspert --- diff --git a/dak/process_policy.py b/dak/process_policy.py index 61c4ef39..30e10c4d 100755 --- a/dak/process_policy.py +++ b/dak/process_policy.py @@ -157,7 +157,7 @@ def comment_accept(upload, srcqueue, comments, transaction): Logger.log(["Policy Queue ACCEPT", srcqueue.queue_name, changesname]) pu = get_processed_upload(upload) - daklib.announce.announce_accept(upload) + daklib.announce.announce_accept(pu) # TODO: code duplication. Similar code is in process-upload. # Move .changes to done @@ -232,7 +232,9 @@ def real_comment_reject(upload, srcqueue, comments, transaction, notify=True, ma if not Options["No-Action"]: Logger.log(["Policy Queue REJECT", srcqueue.queue_name, upload.changes.changesname]) + changes = upload.changes remove_upload(upload, transaction) + session.delete(changes) ################################################################################ @@ -252,7 +254,6 @@ def remove_upload(upload, transaction): fs.unlink(os.path.join(queuedir, upload.changes.changesname)) session.delete(upload) - session.delete(changes) session.flush() ################################################################################ diff --git a/dak/process_upload.py b/dak/process_upload.py index bf5cda59..0f89f46b 100755 --- a/dak/process_upload.py +++ b/dak/process_upload.py @@ -212,7 +212,7 @@ def try_or_reject(function): try: return function(directory, upload, *args, **kwargs) except (daklib.archive.ArchiveException, daklib.checks.Reject) as e: - reason = e + reason = unicode(e) except Exception as e: reason = "There was an uncaught exception when processing your upload:\n{0}\nAny original reject reason follows below.".format(traceback.format_exc()) diff --git a/daklib/announce.py b/daklib/announce.py index 8288af9d..51a07d90 100644 --- a/daklib/announce.py +++ b/daklib/announce.py @@ -109,7 +109,7 @@ def announce_accept(upload): cnf = Config() subst = _subst_for_upload(upload) - accepted_to_real_suite = any(suite.policy_queue in None for suite in upload.suites) + accepted_to_real_suite = any(suite.policy_queue is None for suite in upload.suites) suite_names = [] for suite in upload.suites: @@ -125,18 +125,24 @@ def announce_accept(upload): if accepted_to_real_suite and upload.sourceful: # senf mail to announce lists and tracking server - announce = set(suite.announce or [] for suite in upload.suites if suite.policy_queue is None) + announce = set() + for suite in upload.suites: + if suite.policy_queue is None: + continue + announce.update(suite.announce or []) + announce_list_address = ", ".join(announce) tracking = cnf.get('Dinstall::TrackingServer') if tracking: announce_list_address = "{0}\n{1}@{2}".format(announce_list_address, upload.source, tracking) - my_subst = subst.copy() - my_subst['__ANNOUNCE_LIST_ADDRESS__'] = announce_list_address + if len(announce_list_address) != 0: + my_subst = subst.copy() + my_subst['__ANNOUNCE_LIST_ADDRESS__'] = announce_list_address - message = TemplateSubst(my_subst, os.path.join(cnf['Dir::Templates'], 'process-unchecked.announce')) - utils.send_mail(message) + message = TemplateSubst(my_subst, os.path.join(cnf['Dir::Templates'], 'process-unchecked.announce')) + send_mail(message) if accepted_to_real_suite and upload.sourceful and cnf.find_b('Dinstall::CloseBugs'): for bug in upload.bugs: