diff options
Diffstat (limited to 'func/minion/modules/command.py')
-rw-r--r-- | func/minion/modules/command.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/func/minion/modules/command.py b/func/minion/modules/command.py index cc463cf..3d23e49 100644 --- a/func/minion/modules/command.py +++ b/func/minion/modules/command.py @@ -19,17 +19,22 @@ import sub_process class Command(func_module.FuncModule): version = "0.0.1" - api_version = "0.0.1" + api_version = "0.0.2" description = "Works with shell commands." - def run(self, command): + def run(self, command, env=None): """ Runs a command, returning the return code, stdout, and stderr as a tuple. NOT FOR USE WITH INTERACTIVE COMMANDS. """ - cmdref = sub_process.Popen(command.split(), stdout=sub_process.PIPE, - stderr=sub_process.PIPE, shell=False) + + if env: + cmdref = sub_process.Popen(command.split(), stdout=sub_process.PIPE, + stderr=sub_process.PIPE, shell=False, env=env) + else: + cmdref = sub_process.Popen(command.split(), stdout=sub_process.PIPE, + stderr=sub_process.PIPE, shell=False) data = cmdref.communicate() return (cmdref.returncode, data[0], data[1]) |