Use Popen rather than run()

pull/977/head
Travis Ralston 6 years ago
parent af7460088f
commit 8a4ba8c5ca

@ -838,21 +838,21 @@ class MatrixUnits(Units):
tc_lines = [] tc_lines = []
if os.path.isdir(tc_path): if os.path.isdir(tc_path):
logger.info("Generating towncrier changelog for: %s" % name) logger.info("Generating towncrier changelog for: %s" % name)
p = subprocess.run( p = subprocess.Popen(
['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'], ['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'],
cwd=tc_path, cwd=tc_path,
check=False, # We'll manually check the exit code
stderr=subprocess.PIPE, stderr=subprocess.PIPE,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
) )
stdout, stderr = p.communicate()
if p.returncode != 0: if p.returncode != 0:
# Something broke - dump as much information as we can # Something broke - dump as much information as we can
logger.error("Towncrier exited with code %s" % p.returncode) logger.error("Towncrier exited with code %s" % p.returncode)
logger.error(p.stdout.decode('UTF-8')) logger.error(stdout.decode('UTF-8'))
logger.error(p.stderr.decode('UTF-8')) logger.error(stderr.decode('UTF-8'))
raw_log = "" raw_log = ""
else: else:
raw_log = p.stdout.decode('UTF-8') raw_log = stdout.decode('UTF-8')
# This is a bit of a hack, but it does mean that the log at least gets *something* # This is a bit of a hack, but it does mean that the log at least gets *something*
# to tell us it broke # to tell us it broke

Loading…
Cancel
Save