]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_upload.py
dak/process_upload.py: only send mail to tracking server if accepted to real suite
[dak.git] / dak / process_upload.py
index 25f32b5842f16ecdb14c91764682b7000c9a2a0a..bea8a10ec49a01988e71068b6dbca0db716b340e 100755 (executable)
@@ -302,18 +302,23 @@ def accept(directory, upload):
     utils.send_mail(message)
 
     # send mail to announce lists and tracking server
-    subst = subst_for_upload(upload)
-    announce = set()
-    for suite in upload.final_suites:
-        if suite.policy_queue is None:
-            continue
-        announce.update(suite.announce or [])
-    announce_address = ", ".join(announce)
-    tracking = cnf.get('Dinstall::TrackingServer')
-    if tracking and 'source' in upload.changes.architectures:
-        announce_address = '{0}\nBcc: {1}@{2}'.format(announce_address, control['Source'], tracking)
-    message = utils.TemplateSubst(subst, os.path.join(cnf['Dir::Templates'], 'process-unchecked.announce'))
-    utils.send_mail(message)
+    if  accepted_to_real_suite:
+        subst = subst_for_upload(upload)
+        announce = set()
+        for suite in upload.final_suites:
+            if suite.policy_queue is not None:
+                continue
+            announce.update(suite.announce or [])
+        announce_address = ", ".join(announce)
+
+        tracking = cnf.get('Dinstall::TrackingServer')
+        if tracking and 'source' in upload.changes.architectures:
+            announce_address = '{0}\nBcc: {1}@{2}'.format(announce_address, control['Source'], tracking)
+
+        subst['__ANNOUNCE_LIST_ADDRESS__'] = announce_address
+
+        message = utils.TemplateSubst(subst, os.path.join(cnf['Dir::Templates'], 'process-unchecked.announce'))
+        utils.send_mail(message)
 
     # Only close bugs for uploads that were not redirected to a policy queue.
     # process-policy will close bugs for those once they are accepted.
@@ -377,6 +382,8 @@ def real_reject(directory, upload, reason=None, notify=True):
     for fn in files:
         src = os.path.join(upload.directory, fn)
         dst = utils.find_next_free(os.path.join(rejectdir, fn))
+        if not os.path.exists(src):
+            continue
         fs.copy(src, dst)
 
     if upload.reject_reasons is not None: