5 from subprocess import Popen
6 from tempfile import TemporaryFile
9 def __init__(self, env=os.environ):
11 self._output = TemporaryFile(mode="r+")
15 raise NotImplementedError
17 def getArguments(self):
30 return self._output == 0
33 cmd = shutil.which(self.getCommand(), path=self._env['PATH'])
35 raise FileNotFoundError(self.getCommand() + " in PATH='" + self._env['PATH']+"'")
36 cmd = [ os.path.normpath(cmd) ] + self.getArguments()
37 print("Running: " + ' '.join(cmd))
39 with Popen(cmd, stdout = self._output, stderr = self._output, shell=self.needsShell(), env=self._env) as proc:
40 self._result = proc.wait()
44 print(self._output.read())
46 logfile = self.getLog()
50 print("Command returned: {0}".format(self._result))