in spotify_tensorflow/luigi/utils.py [0:0]
def run_with_logging(cmd, logger):
"""
Run cmd and wait for it to finish. While cmd is running, we read it's
output and print it to a logger.
"""
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output_lines = []
while True:
line = process.stdout.readline()
if not line:
break
line = line.decode("utf-8")
output_lines += [line]
logger.info(line.rstrip("\n"))
exit_code = process.wait()
if exit_code:
output = "".join(output_lines)
raise subprocess.CalledProcessError(exit_code, cmd, output=output)
return exit_code