]> git.decadent.org.uk Git - dak.git/commitdiff
Merge remote-tracking branch 'ansgar/pu/multiarchive-1' into merge
authorJoerg Jaspert <joerg@debian.org>
Wed, 15 Aug 2012 20:04:41 +0000 (22:04 +0200)
committerJoerg Jaspert <joerg@debian.org>
Wed, 15 Aug 2012 20:04:41 +0000 (22:04 +0200)
* 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 <joerg@debian.org>
dak/process_policy.py
dak/process_upload.py
daklib/announce.py

index 61c4ef395702112020d1b67f6f1520ce10954ca4..30e10c4d06679f1b93c934cf003f07463ee6756a 100755 (executable)
@@ -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()
 
 ################################################################################
index bf5cda591d210c71ef735999b0a2643e11a04134..0f89f46b8765c0be4a65eb55b791b95a0995b980 100755 (executable)
@@ -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())
 
index 8288af9df6b757ecfbab492c90b15903af6e7407..51a07d90f99965edd8eb464c49221997999249cf 100644 (file)
@@ -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: