diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-08-21 04:03:15 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-08-21 04:03:15 +0000 |
commit | 3d11b48d840be203945ff86e46a36fd813008d27 (patch) | |
tree | 2001597adc2ddad19a4983a93ca615369fa52f3c /pym/portage/elog/messages.py | |
parent | fbceadf2a286ddc7ac2bf2ae35f491cfc7eb71e8 (diff) | |
download | portage-3d11b48d840be203945ff86e46a36fd813008d27.tar.gz portage-3d11b48d840be203945ff86e46a36fd813008d27.tar.bz2 portage-3d11b48d840be203945ff86e46a36fd813008d27.zip |
Use _encodings where appropriate and add _encodings['stdio'] for stdout
encoding.
svn path=/main/trunk/; revision=14111
Diffstat (limited to 'pym/portage/elog/messages.py')
-rw-r--r-- | pym/portage/elog/messages.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/pym/portage/elog/messages.py b/pym/portage/elog/messages.py index a51f0864e..a563ad271 100644 --- a/pym/portage/elog/messages.py +++ b/pym/portage/elog/messages.py @@ -12,6 +12,9 @@ portage.proxy.lazyimport.lazyimport(globals(), from portage.const import EBUILD_PHASES from portage.localization import _ from portage import os +from portage import _encodings +from portage import _unicode_encode +from portage import _unicode_decode import codecs import sys @@ -41,8 +44,9 @@ def collect_ebuild_messages(path): logentries[msgfunction] = [] lastmsgtype = None msgcontent = [] - for l in codecs.open(filename, mode='r', - encoding='utf_8', errors='replace'): + for l in codecs.open(_unicode_encode(filename, + encoding=_encodings['fs'], errors='strict'), + mode='r', encoding=_encodings['repo.content'], errors='replace'): if not l: continue try: @@ -87,15 +91,16 @@ def _elog_base(level, msg, phase="other", key=None, color=None, out=None): if color is None: color = "GOOD" - if not isinstance(msg, unicode): - msg = unicode(msg, encoding='utf_8', errors='replace') + msg = _unicode_decode(msg, + encoding=_encodings['content'], errors='replace') formatted_msg = colorize(color, " * ") + msg + "\n" if sys.hexversion < 0x3000000 and \ out in (sys.stdout, sys.stderr) and isinstance(formatted_msg, unicode): # avoid potential UnicodeEncodeError - formatted_msg = formatted_msg.encode('utf_8', 'replace') + formatted_msg = formatted_msg.encode( + _encodings['stdio'], 'backslashreplace') out.write(formatted_msg) |