aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-08-19 07:13:53 +0000
committerZac Medico <zmedico@gentoo.org>2009-08-19 07:13:53 +0000
commit1491b861415ded10623101e54c5e0853853455b0 (patch)
tree96ccd53666cd8442830eb9d6c5528a23079ac03e /pym/_emerge/EbuildMetadataPhase.py
parentUse _encodings where appropriate. (diff)
downloadportage-1491b861415ded10623101e54c5e0853853455b0.tar.gz
portage-1491b861415ded10623101e54c5e0853853455b0.tar.bz2
portage-1491b861415ded10623101e54c5e0853853455b0.zip
Use _encodings where appropriate.
svn path=/main/trunk/; revision=14100
Diffstat (limited to 'pym/_emerge/EbuildMetadataPhase.py')
-rw-r--r--pym/_emerge/EbuildMetadataPhase.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/pym/_emerge/EbuildMetadataPhase.py b/pym/_emerge/EbuildMetadataPhase.py
index a84d722be..60b91edb8 100644
--- a/pym/_emerge/EbuildMetadataPhase.py
+++ b/pym/_emerge/EbuildMetadataPhase.py
@@ -8,6 +8,8 @@ import sys
from portage.cache.mappings import slot_dict_class
import portage
from portage import os
+from portage import _encodings
+from portage import _unicode_encode
from itertools import izip
import fcntl
import codecs
@@ -38,8 +40,11 @@ class EbuildMetadataPhase(SubProcess):
os.path.basename(ebuild_path))
if eapi is None and \
'parse-eapi-ebuild-head' in settings.features:
- eapi = portage._parse_eapi_ebuild_head(codecs.open(ebuild_path,
- mode='r', encoding='utf_8', errors='replace'))
+ eapi = portage._parse_eapi_ebuild_head(
+ codecs.open(_unicode_encode(ebuild_path,
+ encoding=_encodings['fs'], errors='strict'),
+ mode='r', encoding=_encodings['repo.content'],
+ errors='replace'))
if eapi is not None:
if not portage.eapi_is_supported(eapi):
@@ -82,7 +87,7 @@ class EbuildMetadataPhase(SubProcess):
fd_pipes[self._metadata_fd] = slave_fd
self._raw_metadata = []
- files.ebuild = os.fdopen(master_fd, 'r')
+ files.ebuild = os.fdopen(master_fd, 'rb')
self._reg_id = self.scheduler.register(files.ebuild.fileno(),
self._registered_events, self._output_handler)
self._registered = True
@@ -118,8 +123,8 @@ class EbuildMetadataPhase(SubProcess):
def _set_returncode(self, wait_retval):
SubProcess._set_returncode(self, wait_retval)
if self.returncode == os.EX_OK:
- metadata_lines = u''.join(unicode(chunk,
- encoding='utf_8', errors='replace')
+ metadata_lines = ''.join(unicode(chunk,
+ encoding=_encodings['repo.content'], errors='replace')
for chunk in self._raw_metadata).splitlines()
if len(portage.auxdbkeys) != len(metadata_lines):
# Don't trust bash's returncode if the