Use codecs.open for unicode support in FileLoader.load().
authorZac Medico <zmedico@gentoo.org>
Mon, 20 Jul 2009 17:50:07 +0000 (17:50 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 20 Jul 2009 17:50:07 +0000 (17:50 -0000)
svn path=/main/trunk/; revision=13836

pym/portage/env/loaders.py

index 31d3b09aa6acb4e906c2fb28d2c21c00db0dd84b..7cd2600aefd237224ab9ce98cdb5bad6d22ade16 100644 (file)
@@ -3,6 +3,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+import codecs
 import os
 import stat
 from portage.localization import _
@@ -138,7 +139,7 @@ class FileLoader(DataLoader):
                # once, which may be expensive due to digging in child classes.
                func = self.lineParser
                for fn in RecursiveFileLoader(self.fname):
-                       f = open(fn)
+                       f = codecs.open(fn, mode='r', errors='replace')
                        for line_num, line in enumerate(f):
                                func(line, line_num, data, errors)
                return (data, errors)