summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/dbapi/bintree.py32
1 files changed, 7 insertions, 25 deletions
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: