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 changed files with 48 additions and 20 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -18,3 +18,25 @@ QByteArray Utils::readFile(QString path)
} }
return data; 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;
}

View File

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