[llvm-commits] [zorg] r108307 - /zorg/trunk/lnt/lnt/util/NTEmailReport.py
Daniel Dunbar
daniel at zuster.org
Tue Jul 13 18:39:55 PDT 2010
Author: ddunbar
Date: Tue Jul 13 20:39:55 2010
New Revision: 108307
URL: http://llvm.org/viewvc/llvm-project?rev=108307&view=rev
Log:
LNT: Add support for multipart email reports (not yet used).
Modified:
zorg/trunk/lnt/lnt/util/NTEmailReport.py
Modified: zorg/trunk/lnt/lnt/util/NTEmailReport.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/util/NTEmailReport.py?rev=108307&r1=108306&r2=108307&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/util/NTEmailReport.py (original)
+++ zorg/trunk/lnt/lnt/util/NTEmailReport.py Tue Jul 13 20:39:55 2010
@@ -36,14 +36,29 @@
def emailReport(db, run, baseurl, host, from_, to, was_added=True,
will_commit=True):
+ import email.mime.multipart
import email.mime.text
- subject, report = getReport(db, run, baseurl, was_added, will_commit)
+ subject, report, html_report = getReport(db, run, baseurl, was_added,
+ will_commit)
- msg = email.mime.text.MIMEText(report)
- msg['Subject'] = subject
- msg['From'] = from_
- msg['To'] = to
+ # Generate a plain text message if we have no html report.
+ if not html_report:
+ msg = email.mime.text.MIMEText(report)
+ msg['Subject'] = subject
+ msg['From'] = from_
+ msg['To'] = to
+ else:
+ msg = email.mime.multipart.MIMEMultipart('alternative')
+ msg['Subject'] = subject
+ msg['From'] = from_
+ msg['To'] = to
+
+ # Attach parts into message container, according to RFC 2046, the last
+ # part of a multipart message, in this case the HTML message, is best
+ # and preferred.
+ msg.attach(email.mime.text.MIMEText(report, 'plain'))
+ msg.attach(email.mime.text.MIMEText(html_report, 'html'))
s = smtplib.SMTP(host)
s.sendmail(from_, [to], msg.as_string())
@@ -221,7 +236,7 @@
if len(tests) > 10:
print >>report, ' ... and %d more ...' % (len(tests) - 10,)
- return subject, report.getvalue()
+ return subject, report.getvalue(), None
def getReport(db, run, baseurl, was_added, will_commit):
report = StringIO.StringIO()
@@ -397,7 +412,7 @@
# FIXME: Where is the old mailer getting the arch from?
subject = """%s nightly tester results""" % machine.name
- return subject,report.getvalue()
+ return subject, report.getvalue(), None
if __name__ == '__main__':
main()
More information about the llvm-commits
mailing list