@@ -1206,8 +1206,8 @@ def run_command(runtime, output=None, timeout=0.01, redirect_x=False):
12061206 if output == 'file' :
12071207 errfile = os .path .join (runtime .cwd , 'stderr.nipype' )
12081208 outfile = os .path .join (runtime .cwd , 'stdout.nipype' )
1209- stderr = open (errfile , 'wt ' ) # t=='text'===default
1210- stdout = open (outfile , 'wt ' )
1209+ stderr = open (errfile , 'wb ' ) # t=='text'===default
1210+ stdout = open (outfile , 'wb ' )
12111211
12121212 proc = subprocess .Popen (cmdline ,
12131213 stdout = stdout ,
@@ -1257,33 +1257,25 @@ def _process(drain=0):
12571257 result ['merged' ] = [r [1 ] for r in temp ]
12581258 if output == 'allatonce' :
12591259 stdout , stderr = proc .communicate ()
1260- if isinstance (stdout , bytes ):
1261- try :
1262- stdout = stdout .decode (locale .getdefaultlocale ()[1 ])
1263- except UnicodeDecodeError :
1264- stdout = stdout .decode ("ISO-8859-1" )
1265- if isinstance (stderr , bytes ):
1266- try :
1267- stderr = stderr .decode (locale .getdefaultlocale ()[1 ])
1268- except UnicodeDecodeError :
1269- stderr = stderr .decode ("ISO-8859-1" )
1260+ stdout = stdout .decode (locale .getdefaultlocale ()[1 ])
1261+ stderr = stderr .decode (locale .getdefaultlocale ()[1 ])
12701262 result ['stdout' ] = stdout .split ('\n ' )
12711263 result ['stderr' ] = stderr .split ('\n ' )
12721264 result ['merged' ] = ''
12731265 if output == 'file' :
12741266 ret_code = proc .wait ()
12751267 stderr .flush ()
12761268 stdout .flush ()
1277- result ['stdout' ] = [line .strip () for line in open (outfile ).readlines ()]
1278- result ['stderr' ] = [line .strip () for line in open (errfile ).readlines ()]
1269+ result ['stdout' ] = [line .decode ( locale . getdefaultlocale ()[ 1 ]). strip () for line in open (outfile , 'rb' ).readlines ()]
1270+ result ['stderr' ] = [line .decode ( locale . getdefaultlocale ()[ 1 ]). strip () for line in open (errfile , 'rb' ).readlines ()]
12791271 result ['merged' ] = ''
12801272 if output == 'none' :
12811273 proc .communicate ()
12821274 result ['stdout' ] = []
12831275 result ['stderr' ] = []
12841276 result ['merged' ] = ''
1285- runtime .stderr = text_type ( '\n ' .join (result ['stderr' ]) )
1286- runtime .stdout = text_type ( '\n ' .join (result ['stdout' ]) )
1277+ runtime .stderr = '\n ' .join (result ['stderr' ])
1278+ runtime .stdout = '\n ' .join (result ['stdout' ])
12871279 runtime .merged = result ['merged' ]
12881280 runtime .returncode = proc .returncode
12891281 return runtime
0 commit comments