diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-06-22 23:11:38 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-06-22 23:11:38 +0000 |
commit | a382630c4c4414597190da450970f4885a632b62 (patch) | |
tree | 13ff560b1a9ec85d49b940668bf5bdd5b1aaf403 /pym/portage/elog/mod_mail_summary.py | |
parent | f2beaa1b01fbfc9ad8eea94df22ca92947446d01 (diff) | |
download | portage-a382630c4c4414597190da450970f4885a632b62.tar.gz portage-a382630c4c4414597190da450970f4885a632b62.tar.bz2 portage-a382630c4c4414597190da450970f4885a632b62.zip |
Make elog finalize() handling safe for PORTAGE_CONFIGROOT.
svn path=/main/trunk/; revision=6955
Diffstat (limited to 'pym/portage/elog/mod_mail_summary.py')
-rw-r--r-- | pym/portage/elog/mod_mail_summary.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/pym/portage/elog/mod_mail_summary.py b/pym/portage/elog/mod_mail_summary.py index 0a39b17b1..884df40c8 100644 --- a/pym/portage/elog/mod_mail_summary.py +++ b/pym/portage/elog/mod_mail_summary.py @@ -8,14 +8,23 @@ from email.MIMEText import MIMEText as TextMessage _items = {} def process(mysettings, key, logentries, fulltext): + global _items header = ">>> Messages generated for package %s by process %d on %s:\n\n" % \ (key, os.getpid(), time.strftime("%Y%m%d-%H%M%S", time.gmtime(time.time()))) - _items[key] = header + fulltext + config_root = mysettings["PORTAGE_CONFIGROOT"] + mysettings, items = _items.setdefault(config_root, (mysettings, {})) + items[key] = header + fulltext -def finalize(mysettings): - if len(_items) == 0: +def finalize(): + global _items + for mysettings, items in _items.itervalues(): + _finalize(mysettings, items) + _items.clear() + +def _finalize(mysettings, items): + if len(items) == 0: return - elif len(_items) == 1: + elif len(items) == 1: count = "one package" else: count = "multiple packages" @@ -31,10 +40,11 @@ def finalize(mysettings): mybody = "elog messages for the following packages generated by " + \ "process %d on host %s:\n" % (os.getpid(), socket.getfqdn()) - for key in _items: + for key in items: mybody += "- %s\n" % key - mymessage = portage.mail.create_message(myfrom, myrecipient, mysubject, mybody, attachments=_items.values()) + mymessage = portage.mail.create_message(myfrom, myrecipient, mysubject, + mybody, attachments=items.values()) portage.mail.send_mail(mysettings, mymessage) return |