From cea6cc051580eacbf5c4a1433c90d8bf1c68720f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 4 Aug 2009 07:02:57 +0000 Subject: Bug #280259 - Fix binarytree to always open the Packages file as unicode. svn path=/main/trunk/; revision=13890 --- pym/portage/dbapi/bintree.py | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) (limited to 'pym') diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py index 2b4dd1834..b1a78f36c 100644 --- a/pym/portage/dbapi/bintree.py +++ b/pym/portage/dbapi/bintree.py @@ -430,18 +430,8 @@ class binarytree(object): dirs.remove("All") dirs.sort() dirs.insert(0, "All") - pkgindex = self._new_pkgindex() + pkgindex = self._load_pkgindex() pf_index = None - try: - f = open(self._pkgindex_file) - except EnvironmentError: - pass - else: - try: - pkgindex.read(f) - finally: - f.close() - del f if not self._pkgindex_version_supported(pkgindex): pkgindex = self._new_pkgindex() header = pkgindex.header @@ -647,7 +637,8 @@ class binarytree(object): urldata[1] + urldata[2], "Packages") pkgindex = self._new_pkgindex() try: - f = open(pkgindex_file) + f = codecs.open(pkgindex_file, + encoding='utf_8', errors='replace') try: pkgindex.read(f) finally: @@ -846,18 +837,8 @@ class binarytree(object): self.getname(cpv).split(os.path.sep)[-2] == "All": self._create_symlink(cpv) created_symlink = True - pkgindex = self._new_pkgindex() - try: - f = codecs.open(self._pkgindex_file, - encoding='utf_8', errors='replace') - except EnvironmentError: - pass - else: - try: - pkgindex.read(f) - finally: - f.close() - del f + pkgindex = self._load_pkgindex() + if not self._pkgindex_version_supported(pkgindex): pkgindex = self._new_pkgindex() @@ -1098,7 +1079,8 @@ class binarytree(object): def _load_pkgindex(self): pkgindex = self._new_pkgindex() try: - f = open(self._pkgindex_file) + f = codecs.open(self._pkgindex_file, + encoding='utf8', errors='replace') except EnvironmentError: pass else: -- cgit v1.2.3-1-g7c22