X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fsfiprocess.py;h=c1f3b955db41c0552172bc809c7d5b7cf116d8cb;hp=655fcb6beece995493c8d39ebf139afb340a9e90;hb=cefadc898b3a60ceded6b2564b8ab6224afb1257;hpb=fe5c9420a6778d5e1d069ab12db4de3a96ab010d diff --git a/sface/sfiprocess.py b/sface/sfiprocess.py index 655fcb6..c1f3b95 100644 --- a/sface/sfiprocess.py +++ b/sface/sfiprocess.py @@ -1,5 +1,6 @@ import os +import sys import time from PyQt4.QtCore import * @@ -19,6 +20,14 @@ class SfiProcess(QObject): def __init__(self, parent=None): QObject.__init__(self, parent) + self.process = QProcess() + self.connect(self.process, SIGNAL("finished(int, QProcess::ExitStatus)"), + self.processFinished) + self.connect(self.process, SIGNAL("readyReadStandardOutput()"), + self.processStandardOutput) + self.connect(self.process, SIGNAL("readyReadStandardError()"), + self.processStandardError) + def __init_command(self, args): self.args = QStringList() for arg in args: @@ -28,10 +37,16 @@ class SfiProcess(QObject): if not self.exe: print "FATAL.. Could not locate binary sfi.py - not much we can do without that" - self.process = QProcess() + def isRunning(self): + return self.process.state() != QProcess.NotRunning - self.connect(self.process, SIGNAL("finished(int, QProcess::ExitStatus)"), - self.processFinished) + def processStandardOutput(self): + output = self.readAllStandardOutput() + if self.debug: + print output + + def processStandardError(self): + print self.process.readAllStandardError() def processFinished(self): if self.process.exitStatus() == QProcess.CrashExit: