From 141eff421a45892315b2b871828db3899246872e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 4 Aug 2009 18:45:48 +0000 Subject: Open CONTENTS in text mode (to avoid UnicodeEncodeError). Thanks to Markos Chandras for reporting. svn path=/main/trunk/; revision=13902 --- pym/portage/dbapi/vartree.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'pym') diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 88ec7b3c7..e759a9b15 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -37,6 +37,7 @@ from portage import listdir, dep_expand, digraph, flatten, key_expand, \ from portage.cache.mappings import slot_dict_class +import codecs import os, re, shutil, stat, errno, copy, subprocess import logging import shlex @@ -1864,7 +1865,8 @@ class dblink(object): return self.contentscache pkgfiles = {} try: - myc = open(contents_file,"r") + myc = codecs.open(contents_file, mode='r', + encoding='utf_8', errors='replace') except EnvironmentError, e: if e.errno != errno.ENOENT: raise @@ -3432,7 +3434,8 @@ class dblink(object): lcfile.close() # open CONTENTS file (possibly overwriting old one) for recording - outfile = open(os.path.join(self.dbtmpdir, "CONTENTS"),"w") + outfile = codecs.open(os.path.join(self.dbtmpdir, 'CONTENTS'), + mode='w', encoding='utf_8', errors='replace') self.updateprotect() -- cgit v1.2.3-1-g7c22