From 77cb4022c981c3c6ba96533a55058a643f60d334 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 22 Aug 2012 12:46:04 -0700 Subject: Use sys.__std*.fileno() in case of overrides. This fixes AttributeError exceptions for API consumers that override sys.std* streams pseudo-file objects. --- pym/portage/getbinpkg.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'pym/portage/getbinpkg.py') diff --git a/pym/portage/getbinpkg.py b/pym/portage/getbinpkg.py index 212f78889..34a5e0efe 100644 --- a/pym/portage/getbinpkg.py +++ b/pym/portage/getbinpkg.py @@ -466,10 +466,12 @@ def file_get(baseurl,dest,conn=None,fcmd=None,filename=None): myfetch = portage.util.shlex_split(fcmd) myfetch = [varexpand(x, mydict=variables) for x in myfetch] fd_pipes= { - 0:sys.stdin.fileno(), - 1:sys.stdout.fileno(), - 2:sys.stdout.fileno() + 0:sys.__stdin__.fileno(), + 1:sys.__stdout__.fileno(), + 2:sys.__stdout__.fileno() } + sys.__stdout__.flush() + sys.__stderr__.flush() retval = spawn(myfetch, env=os.environ.copy(), fd_pipes=fd_pipes) if retval != os.EX_OK: sys.stderr.write(_("Fetcher exited with a failure condition.\n")) -- cgit v1.2.3-1-g7c22