diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-06-22 23:35:43 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-06-22 23:35:43 +0000 |
commit | a1dd09f64ccefbff495d0607aeec5422f32b93fb (patch) | |
tree | 62c9a69da0de2e3937f974da75c0eb438bf0c0b2 /pym/elog_modules/mod_echo.py | |
parent | 8e074705115908deec094527f4c60a4c31941827 (diff) | |
download | portage-a1dd09f64ccefbff495d0607aeec5422f32b93fb.tar.gz portage-a1dd09f64ccefbff495d0607aeec5422f32b93fb.tar.bz2 portage-a1dd09f64ccefbff495d0607aeec5422f32b93fb.zip |
- Make elog finalize() handling safe for PORTAGE_CONFIGROOT. (trunk r6955)
- Dump mod_echo elog output inside post_emerge(), just before the other notifications that happen at exit. (trunk r6953)
svn path=/main/branches/2.1.2/; revision=6958
Diffstat (limited to 'pym/elog_modules/mod_echo.py')
-rw-r--r-- | pym/elog_modules/mod_echo.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/pym/elog_modules/mod_echo.py b/pym/elog_modules/mod_echo.py index 55d33bb1f..b798fb94b 100644 --- a/pym/elog_modules/mod_echo.py +++ b/pym/elog_modules/mod_echo.py @@ -8,18 +8,27 @@ from portage_const import EBUILD_PHASES _items = {} def process(mysettings, key, logentries, fulltext): - _items[key] = logentries + global _items + config_root = mysettings["PORTAGE_CONFIGROOT"] + mysettings, items = _items.setdefault(config_root, (mysettings, {})) + items[key] = logentries -def finalize(mysettings): +def finalize(): + global _items + for mysettings, items in _items.itervalues(): + _finalize(mysettings, items) + _items.clear() + +def _finalize(mysettings, items): printer = EOutput() - for key in _items: + for key, logentries in items.iteritems(): print printer.einfo("Messages for package %s:" % key) print for phase in EBUILD_PHASES: - if not phase in _items[key]: + if phase not in logentries: continue - for msgtype, msgcontent in _items[key][phase]: + for msgtype, msgcontent in logentries[phase]: fmap = {"INFO": printer.einfo, "WARN": printer.ewarn, "ERROR": printer.eerror, |