wic: decode output of subprocess.communicate
stdeout and stderr content returned by communicate API has different types in Python 3(bytes) and Python 2(string). Decoding it to 'utf-8' makes it unicode on both pythons. Decoded stdout and stderr output to utf-8 to make the code working under both Python 2 and Python 3. (From OE-Core rev: 5b556f58a171e3d45107bb56a1f780e5c1abba37) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
5f06463c6c
commit
a173885ccf
|
@ -65,8 +65,8 @@ def runtool(cmdln_or_args, catch=1):
|
|||
process = subprocess.Popen(cmdln_or_args, stdout=sout,
|
||||
stderr=serr, shell=shell)
|
||||
(sout, serr) = process.communicate()
|
||||
# combine stdout and stderr, filter None out
|
||||
out = ''.join(filter(None, [sout, serr]))
|
||||
# combine stdout and stderr, filter None out and decode
|
||||
out = ''.join([out.decode('utf-8') for out in [sout, serr] if out])
|
||||
except OSError as err:
|
||||
if err.errno == 2:
|
||||
# [Errno 2] No such file or directory
|
||||
|
|
Loading…
Reference in New Issue