added some logic for jobsprocessing, magically somehow not working...

This commit is contained in:
Rafael.Timmerberg 2013-05-29 01:03:01 +02:00
commit e60890268f
5 changed files with 65 additions and 37 deletions

View file

@ -1,28 +1,40 @@
import subprocess
import subprocess as sp
from subprocess import CalledProcessError
from datetime import datetime as dt
class Command:
def __init__(self, command):
self.command = command
self.output = ""
self.error = ""
self.retcode = 0
self.commandStart=0
def __str__(self):
return self.command
def hasProcessed(self):
return self.output != "" and self.error != ""
def doProcess(self):
process = subprocess.Popen([self.command], stdout=subprocess.PIPE)
def call(self):
'''
self.commandStart = dt.now()
"called at: "
process = sp.Popen(stdout=PIPE, *popenargs, **kwargs)
self.output, self.error = process.communicate()
self.retcode = process.poll()
'''
try:
print self.command
self.output=sp.check_output(self.command.split(),stderr=sp.STDOUT)
except CalledProcessError:
self.error=CalledProcessError.output
self.retcode = CalledProcessError.returncode
def getOutput(self):
if not self.hasProcessed():
self.doProcess()
return self.output
def getError(self):
if not self.hasProcessed():
self.doProcess()
return self.error
return self.error
def getReturnCode(self):
return self.retcode