This way stdin/stdout of the process are opened in text mode and we don't need
manually decode.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
print(':: {}'.format(' '.join(args)), file=out)
try:
print(':: {}'.format(' '.join(args)), file=out)
try:
- output = subprocess.check_output(args, stderr=subprocess.STDOUT)
+ output = subprocess.check_output(args, stderr=subprocess.STDOUT,
+ universal_newlines=True)
- print(output.decode('utf-8'), file=out)
+ print(output, file=out)
except subprocess.CalledProcessError as err:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
except subprocess.CalledProcessError as err:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
- print(err.output.decode('utf-8'), file=out)
+ print(err.output, file=out)
success = False
return success, out.getvalue()
success = False
return success, out.getvalue()
setxkbmap = subprocess.Popen(args, stdout=subprocess.PIPE)
xkbcomp = subprocess.Popen(xkbcomp_args, stdin=setxkbmap.stdout,
setxkbmap = subprocess.Popen(args, stdout=subprocess.PIPE)
xkbcomp = subprocess.Popen(xkbcomp_args, stdin=setxkbmap.stdout,
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
+ universal_newlines=True)
setxkbmap.stdout.close()
stdout, stderr = xkbcomp.communicate()
if xkbcomp.returncode != 0:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
success = False
if xkbcomp.returncode != 0 or verbose:
setxkbmap.stdout.close()
stdout, stderr = xkbcomp.communicate()
if xkbcomp.returncode != 0:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
success = False
if xkbcomp.returncode != 0 or verbose:
- print(stdout.decode('utf-8'), file=out)
- print(stderr.decode('utf-8'), file=out)
+ print(stdout, file=out)
+ print(stderr, file=out)
# This catches setxkbmap errors.
except subprocess.CalledProcessError as err:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
# This catches setxkbmap errors.
except subprocess.CalledProcessError as err:
print('ERROR: Failed to compile: {}'.format(' '.join(args)), file=out)
- print(err.output.decode('utf-8'), file=out)
+ print(err.output, file=out)
success = False
return success, out.getvalue()
success = False
return success, out.getvalue()