From: Zac Medico Date: Sat, 15 Aug 2009 07:23:51 +0000 (-0000) Subject: Update import to import portage.os (with unicode wrappers), and use X-Git-Tag: v2.2_rc39~59 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5c69bb17654fe644124c80597fa96baf5394c821;p=portage.git Update import to import portage.os (with unicode wrappers), and use _unicode_encode() and _content_encoding for encoding unicode env vars in spawn(). svn path=/main/trunk/; revision=14062 --- diff --git a/pym/portage/process.py b/pym/portage/process.py index 5dcf481e2..1b5846883 100644 --- a/pym/portage/process.py +++ b/pym/portage/process.py @@ -4,12 +4,14 @@ # $Id$ -import os import atexit import signal import sys import traceback +from portage import os +from portage import _content_encoding +from portage import _unicode_encode import portage portage.proxy.lazyimport.lazyimport(globals(), 'portage.util:dump_traceback', @@ -182,11 +184,8 @@ def spawn(mycommand, env={}, opt_name=None, fd_pipes=None, returnpid=False, # Avoid a potential UnicodeEncodeError from os.execve(). env_bytes = {} for k, v in env.iteritems(): - if isinstance(k, unicode): - k = k.encode('utf_8', 'replace') - if isinstance(v, unicode): - v = v.encode('utf_8', 'replace') - env_bytes[k] = v + env_bytes[_unicode_encode(k, encoding=_content_encoding)] = \ + _unicode_encode(v, encoding=_content_encoding) env = env_bytes del env_bytes