shithub: aubio

Download patch

ref: 66fff6c1150bc6ab4b5175b68ee12e376db11286
parent: f55630c5e9397c94d3f0e683c6eeb2c89fd6d490
author: Paul Brossier <piem@piem.org>
date: Mon May 6 18:36:51 EDT 2019

[py] use universal_newlines=True to prevent decoding errors (see gh-247 gh-248)

--- a/python/lib/gen_external.py
+++ b/python/lib/gen_external.py
@@ -120,23 +120,24 @@
     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