'shell' is a magic module that executes the command module with shell=True

reviewable/pr18780/r1
Michael DeHaan 13 years ago
parent 842d7cca6f
commit be723aa98b

@ -32,18 +32,27 @@ import os
argfile = sys.argv[1]
args = open(argfile, 'r').read()
args = shlex.split(args)
shell = False
if args.find("#USE_SHELL") != -1:
args = args.replace("#USE_SHELL", "")
shell = True
if not shell:
args = shlex.split(args)
startd = datetime.datetime.now()
try:
cmd = subprocess.Popen(args, shell=False,
cmd = subprocess.Popen(args, shell=shell,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = cmd.communicate()
except (OSError, IOError), e:
print json.dumps({
"failed": 1,
"msg": str(e),
"cmd" : args,
"failed" : 1,
"msg" : str(e),
})
sys.exit(1)
except:
@ -62,6 +71,7 @@ if err is None:
err = ''
result = {
"cmd" : args,
"stdout" : out.strip(),
"stderr" : err.strip(),
"rc" : cmd.returncode,

Loading…
Cancel
Save