From: Paul Brossier Date: Mon, 6 May 2019 20:36:51 +0000 (+0200) Subject: [py] use universal_newlines=True to prevent decoding errors (see gh-247 gh-248) X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=66fff6c1150bc6ab4b5175b68ee12e376db11286;p=aubio.git [py] use universal_newlines=True to prevent decoding errors (see gh-247 gh-248) --- diff --git a/python/lib/gen_external.py b/python/lib/gen_external.py index 1425c9b8..e5f0a02d 100644 --- a/python/lib/gen_external.py +++ b/python/lib/gen_external.py @@ -120,23 +120,24 @@ def get_cpp_output(header=header, usedouble=False): print("Running command: {:s}".format(" ".join(cpp_cmd))) proc = subprocess.Popen(cpp_cmd, stderr=subprocess.PIPE, - stdout=subprocess.PIPE) + stdout=subprocess.PIPE, + universal_newlines=True) assert proc, 'Proc was none' cpp_output = proc.stdout.read() err_output = proc.stderr.read() if err_output: print("Warning: preprocessor produced errors or warnings:\n%s" \ - % err_output.decode('utf8')) + % err_output) if not cpp_output: raise_msg = "preprocessor output is empty! Running command " \ + "\"%s\" failed" % " ".join(cpp_cmd) if err_output: - raise_msg += " with stderr: \"%s\"" % err_output.decode('utf8') + raise_msg += " with stderr: \"%s\"" % err_output else: raise_msg += " with no stdout or stderr" raise Exception(raise_msg) if not isinstance(cpp_output, list): - cpp_output = [l.strip() for l in cpp_output.decode('utf8').split('\n')] + cpp_output = [l.strip() for l in cpp_output.split('\n')] return cpp_output