- # send mail to maintainer
- subst = subst_for_upload(upload)
- message = utils.TemplateSubst(subst, os.path.join(cnf['Dir::Templates'], 'process-unchecked.accepted'))
- utils.send_mail(message)
-
- # send mail to announce lists and tracking server
- if accepted_to_real_suite and sourceful_upload:
- 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.
- subst = subst_for_upload(upload)
- if accepted_to_real_suite and cnf.find_b('Dinstall::CloseBugs') and sourceful_upload:
- for bugnum in upload.changes.closed_bugs:
- subst['__BUG_NUMBER__'] = str(bugnum)
-
- message = utils.TemplateSubst(subst, os.path.join(cnf['Dir::Templates'], 'process-unchecked.bug-close'))
- utils.send_mail(message)
-
- del subst['__BUG_NUMBER__']