diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-10-07 12:15:15 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-10-07 12:15:15 -0700 |
commit | 8209aeab647b1ab80a64d5931069b3533776ef75 (patch) | |
tree | 2c23b53fd46623d6e2584692b4073e3b0c6ced8b /pym/portage/elog/messages.py | |
parent | e04db4cc77ca0596501193120cb6ecb85aa1f639 (diff) | |
download | portage-8209aeab647b1ab80a64d5931069b3533776ef75.tar.gz portage-8209aeab647b1ab80a64d5931069b3533776ef75.tar.bz2 portage-8209aeab647b1ab80a64d5931069b3533776ef75.zip |
Preserve elog message continuity during updates.
Diffstat (limited to 'pym/portage/elog/messages.py')
-rw-r--r-- | pym/portage/elog/messages.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pym/portage/elog/messages.py b/pym/portage/elog/messages.py index bee0a7747..a8a3e9a5f 100644 --- a/pym/portage/elog/messages.py +++ b/pym/portage/elog/messages.py @@ -121,7 +121,7 @@ def _elog_base(level, msg, phase="other", key=None, color=None, out=None): #raise NotImplementedError() -def collect_messages(key=None): +def collect_messages(key=None, phasefilter=None): global _msgbuffer if key is None: @@ -130,7 +130,17 @@ def collect_messages(key=None): else: rValue = {} if key in _msgbuffer: - rValue[key] = _msgbuffer.pop(key) + if phasefilter is None: + rValue[key] = _msgbuffer.pop(key) + else: + rValue[key] = {} + for phase in phasefilter: + try: + rValue[key][phase] = _msgbuffer[key].pop(phase) + except KeyError: + pass + if not _msgbuffer[key]: + del _msgbuffer[key] return rValue def _reset_buffer(): |