]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_policy.py
daklib/archive.py: use only enhanced suites as default source_suites
[dak.git] / dak / process_policy.py
index 3945737f665cf44225f1b9433101f72ead410609..98c4c2981e4ba310233a5dd309a668620f6c53e8 100755 (executable)
@@ -33,6 +33,7 @@
 
 import os
 import datetime
+import re
 import sys
 import traceback
 import apt_pkg
@@ -232,6 +233,14 @@ def real_comment_reject(upload, srcqueue, comments, transaction, notify=True):
         subst = subst_for_upload(upload)
         subst['__MANUAL_REJECT_MESSAGE__'] = ''
         subst['__REJECT_MESSAGE__'] = comments
+
+        # Try to use From: from comment file if there is one.
+        # This is not very elegant...
+        match = re.match(r"\AFrom: ([^\n]+)\n\n", comments)
+        if match:
+            subst['__REJECTOR_ADDRESS__'] = match.group(1)
+            subst['__REJECT_MESSAGE__'] = '\n'.join(comments.splitlines()[2:])
+
         message = utils.TemplateSubst(subst, os.path.join(cnf['Dir::Templates'], 'queue.rejected'))
         utils.send_mail(message)
 
@@ -269,7 +278,10 @@ def subst_for_upload(upload):
     cnf = Config()
 
     maintainer_field = upload.changes.changedby or upload.changes.maintainer
-    addresses = utils.mail_addresses_for_upload(upload.changes.maintainer, maintainer_field, upload.changes.fingerprint)
+    if upload.source is not None:
+        addresses = utils.mail_addresses_for_upload(upload.changes.maintainer, maintainer_field, upload.changes.fingerprint)
+    else:
+        addresses = utils.mail_addresses_for_upload(upload.changes.maintainer, upload.changes.maintainer, upload.changes.fingerprint)
 
     changes_path = os.path.join(upload.policy_queue.path, upload.changes.changesname)
     changes_contents = open(changes_path, 'r').read()