From ae17dbbbfd775965a19c983bce5820f0e9dca477 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 11 Mar 2009 06:13:02 +0000 Subject: When decoding term codes inside the JobStatusDisplay constructor, use the 'replace' error handling scheme in order to avoid triggering a potential UnicodeError. (trunk r12687) svn path=/main/branches/2.1.6/; revision=12947 --- pym/_emerge/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 0a910928e..32d07bc7a 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -9622,9 +9622,10 @@ class JobStatusDisplay(object): for k, capname in self._termcap_name_map.iteritems(): term_codes[k] = self._default_term_codes[capname] object.__setattr__(self, "_term_codes", term_codes) + encoding = sys.getdefaultencoding() for k, v in self._term_codes.items(): if not isinstance(v, str): - self._term_codes[k] = v.decode() + self._term_codes[k] = v.decode(encoding, 'replace') def _init_term(self): """ -- cgit v1.2.3-1-g7c22