summaryrefslogtreecommitdiffstats
path: root/pym/portage/elog/mod_mail_summary.py
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2007-02-11 01:13:56 +0000
committerMarius Mauch <genone@gentoo.org>2007-02-11 01:13:56 +0000
commit54421fd308149c4b6623557f072a64131bd728ab (patch)
tree902f4eae8a0cbbc8bd7196988387332658b698e4 /pym/portage/elog/mod_mail_summary.py
parent7b492bc9dec901aa1e94e09a8d8e1dfb0f2478f8 (diff)
downloadportage-54421fd308149c4b6623557f072a64131bd728ab.tar.gz
portage-54421fd308149c4b6623557f072a64131bd728ab.tar.bz2
portage-54421fd308149c4b6623557f072a64131bd728ab.zip
Make subpackage naming consistent
svn path=/main/trunk/; revision=5955
Diffstat (limited to 'pym/portage/elog/mod_mail_summary.py')
-rw-r--r--pym/portage/elog/mod_mail_summary.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/pym/portage/elog/mod_mail_summary.py b/pym/portage/elog/mod_mail_summary.py
new file mode 100644
index 000000000..99c285642
--- /dev/null
+++ b/pym/portage/elog/mod_mail_summary.py
@@ -0,0 +1,40 @@
+# portage.py -- core Portage functionality
+# Copyright 1998-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id: mod_mail.py 3484 2006-06-10 22:38:44Z genone $
+
+import portage.mail, socket, os, time
+from email.MIMEText import MIMEText as TextMessage
+
+_items = {}
+def process(mysettings, cpv, logentries, fulltext):
+ header = ">>> Messages generated for package %s by process %d on %s:\n\n" % \
+ (cpv, os.getpid(), time.strftime("%Y%m%d-%H%M%S", time.gmtime(time.time())))
+ _items[cpv] = header + fulltext
+
+def finalize(mysettings):
+ if len(_items) == 0:
+ return
+ elif len(_items) == 1:
+ count = "one package"
+ else:
+ count = "multiple packages"
+ if mysettings.has_key("PORTAGE_ELOG_MAILURI"):
+ myrecipient = mysettings["PORTAGE_ELOG_MAILURI"].split()[0]
+ else:
+ myrecipient = "root@localhost"
+
+ myfrom = mysettings["PORTAGE_ELOG_MAILFROM"]
+ mysubject = mysettings["PORTAGE_ELOG_MAILSUBJECT"]
+ mysubject = mysubject.replace("${PACKAGE}", count)
+ mysubject = mysubject.replace("${HOST}", socket.getfqdn())
+
+ mybody = "elog messages for the following packages generated by " + \
+ "process %d on host %s:\n" % (os.getpid(), socket.getfqdn())
+ for cpv in _items.keys():
+ mybody += "- %s\n" % cpv
+
+ mymessage = portage.mail.create_message(myfrom, myrecipient, mysubject, mybody, attachments=_items.values())
+ portage.mail.send_mail(mysettings, mymessage)
+
+ return