summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
Diffstat (limited to 'pym')
-rw-r--r--pym/elog_modules/mod_echo.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/pym/elog_modules/mod_echo.py b/pym/elog_modules/mod_echo.py
new file mode 100644
index 000000000..a120d17c9
--- /dev/null
+++ b/pym/elog_modules/mod_echo.py
@@ -0,0 +1,30 @@
+# elog_modules/mod_echo.py - elog dispatch module
+# Copyright 2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+from output import EOutput
+from portage_const import EBUILD_PHASES
+
+_items = {}
+def process(mysettings, key, logentries, fulltext):
+ _items[key] = logentries
+
+def finalize(mysettings):
+ printer = EOutput()
+ for key in _items.keys():
+ print
+ printer.einfo("Messages for package %s:" % key)
+ print
+ for phase in EBUILD_PHASES:
+ if not phase in _items[key]:
+ continue
+ for msgtype, msgcontent in _items[key][phase]:
+ fmap = {"INFO": printer.einfo,
+ "WARN": printer.ewarn,
+ "ERROR": printer.eerror,
+ "LOG": printer.einfo,
+ "QA": printer.ewarn}
+ for line in msgcontent:
+ fmap[msgtype](line.strip("\n"))
+ return