Merge pull request #11758 from ninjadq/output_subprocess_stdout

Output subprocess stdout
This commit is contained in:
Qian Deng 2020-04-28 09:46:02 +08:00 committed by GitHub
commit 7f1e3a7bb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,7 +2,8 @@ import os
import sys import sys
import click import click
import pathlib import pathlib
from subprocess import check_call, PIPE, STDOUT import logging
from subprocess import Popen, PIPE, STDOUT, CalledProcessError
from utils.cert import openssl_installed from utils.cert import openssl_installed
from utils.misc import get_realpath from utils.misc import get_realpath
@ -25,8 +26,8 @@ def gencert(path, days):
if not os.path.exists(path): if not os.path.exists(path):
click.echo('path {} not exist, create it...'.format(path)) click.echo('path {} not exist, create it...'.format(path))
os.makedirs(path, exist_ok=True) os.makedirs(path, exist_ok=True)
with Popen([gen_tls_script, days], stdout=PIPE, stderr=STDOUT, cwd=path) as p:
shell_stat = check_call([gen_tls_script, days], stdout=PIPE, stderr=STDOUT, cwd=path) for line in p.stdout:
if shell_stat != 0: click.echo(line, nl=False)
click.echo('Can not generate internal tls certs') if p.returncode != 0:
sys.exit(-1) raise CalledProcessError(p.returncode, p.args)