From c650c8a11182004667ec5db641fe7cb5f90052dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Thu, 8 Feb 2018 22:18:50 +0100 Subject: [PATCH] tools/triage: try to unpack package from ~/daca2-packages --- tools/triage/mainwindow.cpp | 61 ++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 21 deletions(-) diff --git a/tools/triage/mainwindow.cpp b/tools/triage/mainwindow.cpp index 8651b797f..2033d2aa8 100644 --- a/tools/triage/mainwindow.cpp +++ b/tools/triage/mainwindow.cpp @@ -10,6 +10,7 @@ #include const QString WORK_FOLDER(QDir::homePath() + "/triage"); +const QString DACA2_PACKAGES(QDir::homePath() + "/daca2-packages"); MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), @@ -61,6 +62,32 @@ void MainWindow::loadFile() } } +static bool wget(const QString url) +{ + QProcess process; + process.setWorkingDirectory(WORK_FOLDER); + process.start("wget", QStringList() << url); + return process.waitForFinished(-1); +} + +static bool unpackArchive(const QString archiveName) +{ + // Unpack archive + QStringList args; + if (archiveName.endsWith(".tar.gz")) + args << "xzvf"; + else if (archiveName.endsWith(".tar.bz2")) + args << "xjvf"; + else if (archiveName.endsWith(".tar.xz")) + args << "xJvf"; + args << archiveName; + + QProcess process; + process.setWorkingDirectory(WORK_FOLDER); + process.start("tar", args); + return process.waitForFinished(-1); +} + void MainWindow::showResult(QListWidgetItem *item) { if (!item->text().startsWith("ftp://")) @@ -77,27 +104,19 @@ void MainWindow::showResult(QListWidgetItem *item) const QString fileName = msg.left(msg.indexOf(":")); const int lineNumber = msg.mid(pos1+1,pos2-pos1-1).toInt(); - QProcess process; - process.setWorkingDirectory(WORK_FOLDER); - - if (!QFileInfo(WORK_FOLDER + '/' + archiveName).exists()) { - // Download archive - process.start("wget", QStringList()<