Inside collect_ebuild_messages(), open elog files in text mode (unicode).
authorZac Medico <zmedico@gentoo.org>
Sun, 9 Aug 2009 19:49:00 +0000 (19:49 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 9 Aug 2009 19:49:00 +0000 (19:49 -0000)
Thanks to jlec for reporting.

svn path=/main/trunk/; revision=13958

pym/portage/elog/messages.py

index 3b44e0fe812f6ab8458ce10679ff9eee17f02a41..341f74c0e1b58db6143d1d19754407df003c2cce 100644 (file)
@@ -12,6 +12,7 @@ portage.proxy.lazyimport.lazyimport(globals(),
 from portage.const import EBUILD_PHASES
 from portage.localization import _
 
+import codecs
 import os
 import sys
 
@@ -40,7 +41,8 @@ def collect_ebuild_messages(path):
                        logentries[msgfunction] = []
                lastmsgtype = None
                msgcontent = []
-               for l in open(filename):
+               for l in codecs.open(filename, mode='r',
+                       encoding='utf_8', errors='replace'):
                        if not l:
                                continue
                        try: