#include "vymprocess.h"
#include <cstdlib>
#include <QDebug>
#include <QMessageBox>
extern bool debug;
/////////////////////////////////////////////////////////////////
// Process
/////////////////////////////////////////////////////////////////
VymProcess::VymProcess()
{
connect(this, SIGNAL(readyReadStandardError()), this,
SLOT(readProcErrout()));
connect(this, SIGNAL(readyReadStandardOutput()), this,
SLOT(readProcStdout()));
clear();
}
VymProcess::~VymProcess() {}
void VymProcess::clear()
{
errOut = "";
stdOut = "";
}
void VymProcess::runScript(QString spath, QString fpath)
{
spath.replace("%f", fpath);
QStringList args = spath.split(' ');
spath = args.takeFirst();
if (debug)
qDebug() << "Process::runScript : " + spath + " " + args.join(" ");
start(spath, args);
if (!waitForStarted()) {
QMessageBox::critical(0, tr("Critical Error"),
tr("Could not start %1").arg(spath));
}
else {
if (!waitForFinished())
QMessageBox::critical(0, tr("Critical Error"),
tr("%1 didn't exit normally").arg(spath) +
getErrout());
// else
// if (exitStatus()>0) showOutput=true;
}
/* TODO output for Process::runScript
qDebug()<<readAllStandardOutput();
qDebug()<<getStdout();
qDebug()<<getErrout();
addOutput ("\n");
addOutput (getErrout());
addOutput (getStdout());
*/
}
void VymProcess::readProcErrout() { errOut += readAllStandardError(); }
void VymProcess::readProcStdout() { stdOut += readAllStandardOutput(); }
QString VymProcess::getErrout() { return errOut; }
QString VymProcess::getStdout() { return stdOut; }