Use subprocess.check_output instead of run

subprocess.run only exists for python3, and this needs to also support
python 2.7
This commit is contained in:
Alex Tomlins 2019-01-22 20:40:05 +00:00 committed by Brian May
parent 531a17c151
commit 04849df7e3

View File

@ -24,12 +24,13 @@ def ipt_chain_exists(family, table, name):
'PATH': os.environ['PATH'],
'LC_ALL': "C",
}
completed = ssubprocess.run(argv, stdout=ssubprocess.PIPE, env=env, encoding='ASCII')
if completed.returncode:
raise Fatal('%r returned %d' % (argv, completed.returncode))
for line in completed.stdout.split('\n'):
if line.startswith('Chain %s ' % name):
return True
try:
output = ssubprocess.check_output(argv, env=env)
for line in output.decode('ASCII').split('\n'):
if line.startswith('Chain %s ' % name):
return True
except ssubprocess.CalledProcessError as e:
raise Fatal('%r returned %d' % (argv, e.returncode))
def ipt(family, table, *args):