Added Utils::error() and Utils::info() to print to stderr/stdout instead of qDebug()

This commit is contained in:
Albert S. 2019-04-10 18:57:27 +02:00
parent 071bddf28d
commit 6ba1147d11
7 ha cambiato i file con 48 aggiunte e 20 eliminazioni

Vedi File

@ -46,7 +46,7 @@ QSqlDatabase Command::dbConnection()
db.setDatabaseName(this->dbConnectionString);
if(!db.open())
{
qDebug() << "Failed to open the database: " << this->dbConnectionString;
Utils::error() << "Failed to open the database: " << this->dbConnectionString;
}
dbStore.setLocalData(db);
return db;

Vedi File

@ -5,6 +5,7 @@
#include <QSqlQuery>
#include <QThreadStorage>
#include <QVariant>
#include "utils.h"
class Command
{
protected:

Vedi File

@ -58,14 +58,14 @@ AddFileResult CommandAdd::addFile(QString path)
if(pageData.isEmpty())
{
qDebug() << "Could not get any content for " << absPath;
Utils::error() << "Could not get any content for " << absPath << endl;
}
// Workaround to "database is locked" error. Perhaps try WAL mode etc.
// QMutexLocker locker(&writeMutex);
if(!db.transaction())
{
qDebug() << "Failed to open transaction for " << absPath << " : " << db.lastError();
Utils::error() << "Failed to open transaction for " << absPath << " : " << db.lastError() << endl;
return DBFAIL;
}
@ -73,7 +73,7 @@ AddFileResult CommandAdd::addFile(QString path)
delQuery.addBindValue(absPath);
if(!delQuery.exec())
{
qDebug() << "Failed DELETE query" << delQuery.lastError();
Utils::error() << "Failed DELETE query" << delQuery.lastError() << endl;
db.rollback();
return DBFAIL;
}
@ -85,7 +85,7 @@ AddFileResult CommandAdd::addFile(QString path)
inserterQuery.addBindValue(fileType);
if(!inserterQuery.exec())
{
qDebug() << "Failed INSERT query" << inserterQuery.lastError();
Utils::error() << "Failed INSERT query" << inserterQuery.lastError() << endl;
db.rollback();
return DBFAIL;
}
@ -99,7 +99,7 @@ AddFileResult CommandAdd::addFile(QString path)
if(!contentQuery.exec())
{
db.rollback();
qDebug() << "Failed content insertion " << contentQuery.lastError();
Utils::error() << "Failed content insertion " << contentQuery.lastError() << endl;
return DBFAIL;
}
}
@ -107,7 +107,7 @@ AddFileResult CommandAdd::addFile(QString path)
if(!db.commit())
{
db.rollback();
qDebug() << "Failed to commit transaction for " << absPath << " : " << db.lastError();
Utils::error() << "Failed to commit transaction for " << absPath << " : " << db.lastError() << endl;
return DBFAIL;
}
return OK;
@ -168,12 +168,12 @@ int CommandAdd::handle(QStringList arguments)
}
if(verbose)
{
qDebug() << "Processing " << path;
Utils::info() << "Processing " << path << endl;
}
auto result = addFile(path);
if(result == DBFAIL)
{
qDebug() << "Failed to add " << path;
Utils::error() << "Failed to add " << path << endl;
if(!keepGoing)
{
terminate = true;
@ -183,11 +183,12 @@ int CommandAdd::handle(QStringList arguments)
{
if(result == SKIPPED)
{
qDebug() << "Skipped" << path << "as it already exists in the database";
Utils::info()
<< "Skipped" << path << "as it already exists in the database" << endl;
}
else
{
qDebug() << "Added" << path;
Utils::info() << "Added" << path << endl;
}
}
});

Vedi File

@ -21,7 +21,7 @@ int CommandDelete::removeNonExistent(QSqlDatabase &db, bool verbose, bool dryRun
QSqlQuery pathsQuery("SELECT path FROM file", db);
if(!pathsQuery.exec())
{
qDebug() << "Failed to query current paths";
Utils::error() << "Failed to query current paths" << endl;
return 1;
}
@ -44,17 +44,17 @@ int CommandDelete::removeNonExistent(QSqlDatabase &db, bool verbose, bool dryRun
query.addBindValue(path);
if(!query.exec())
{
qDebug() << "Failed to delete " << path << query.lastError();
Utils::error() << "Failed to delete " << path << query.lastError() << endl;
return 1;
}
if(verbose)
{
qInfo() << "Deleted " << path;
Utils::info() << "Deleted " << path << endl;
}
}
else
{
qInfo() << "Would delete " << path;
Utils::info() << "Would delete " << path << endl;
}
}
}
@ -78,19 +78,19 @@ int CommandDelete::removePaths(const QStringList &paths, QSqlDatabase &db, bool
{
if(verbose)
{
qInfo() << "Deleted" << absPath;
Utils::info() << "Deleted" << absPath << endl;
}
}
else
{
qDebug() << "Failed to delete:" << absPath << deletionQuery.lastError();
Utils::error() << "Failed to delete:" << absPath << deletionQuery.lastError() << endl;
result = 1;
}
}
}
else
{
qInfo() << "No such file in database:" << absPath;
Utils::error() << "No such file in database:" << absPath << endl;
result = 1;
}
}

Vedi File

@ -15,6 +15,7 @@
#include "encodingdetector.h"
#include "pdfprocessor.h"
#include "defaulttextprocessor.h"
#include "utils.h"
#include "command.h"
#include "commandadd.h"
#include "commanddelete.h"
@ -64,12 +65,12 @@ int main(int argc, char *argv[])
}
catch(const QSSGeneralException &e)
{
qDebug() << "Exception caught, message: " << e.message;
Utils::error() << "Exception caught, message: " << e.message << endl;
}
}
else
{
qDebug() << "Unknown command " << commandName;
Utils::error() << "Unknown command " << commandName << endl;
}
return 1;
}

Vedi File

@ -18,3 +18,25 @@ QByteArray Utils::readFile(QString path)
}
return data;
}
QDebug &Utils::info()
{
static QDebug result = []
{
QFile *file = new QFile();
file->open(stderr, QIODevice::WriteOnly);
return QDebug(file);
}();
return result;
}
QDebug &Utils::error()
{
static QDebug result = []
{
QFile *file = new QFile();
file->open(stdout, QIODevice::WriteOnly);
return QDebug(file);
}();
return result;
}

Vedi File

@ -3,6 +3,7 @@
#include <QFile>
#include <QString>
#include <QByteArray>
#include <QTextStream>
#include "qssgeneralexception.h"
class Utils
@ -10,6 +11,8 @@ class Utils
public:
Utils();
static QByteArray readFile(QString path);
static QDebug &info();
static QDebug &error();
};
#endif // UTILS_H