From e2742d5633354fb97705e07fea3467365712965e Mon Sep 17 00:00:00 2001 From: TomZ Date: Wed, 9 Apr 2025 23:23:22 +0200 Subject: [PATCH] Add --offline flag. --- src/Processor.cpp | 13 +++++++++++-- src/Processor.h | 5 ++++- src/main.cpp | 3 +++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/Processor.cpp b/src/Processor.cpp index 7eb0b2e..cc16821 100644 --- a/src/Processor.cpp +++ b/src/Processor.cpp @@ -128,7 +128,7 @@ bool Processor::run() void Processor::runDownloadQueue() { - if (m_downloadJobs.isEmpty()) { + if (m_offline || m_downloadJobs.isEmpty()) { QCoreApplication::quit(); return; } @@ -139,7 +139,6 @@ void Processor::runDownloadQueue() void Processor::parseBCMR(const QString &path) { - logFatal() << "doing it" << path; QFile in(path); if (in.open(QIODevice::ReadOnly)) { char signature[4]; @@ -239,6 +238,16 @@ void Processor::parseBCHTx(QFile &file) logFatal() << "parse tx is a TODO"; } +bool Processor::offline() const +{ + return m_offline; +} + +void Processor::setOffline(bool newOffline) +{ + m_offline = newOffline; +} + Processor::MetaCategory *Processor::fetchOrCreate(const QString &catId) { auto iter = m_categories.find(catId); diff --git a/src/Processor.h b/src/Processor.h index 9a5c8a5..c86307a 100644 --- a/src/Processor.h +++ b/src/Processor.h @@ -16,9 +16,11 @@ class Processor : QObject Q_OBJECT public: Processor(const QString &inDir, const QString &outDir); - bool run(); + bool offline() const; + void setOffline(bool newOffline); + private slots: void runDownloadQueue(); @@ -50,6 +52,7 @@ private: QNetworkAccessManager m_network; QList m_downloadJobs; + bool m_offline = false; }; #endif diff --git a/src/main.cpp b/src/main.cpp index efae055..3d0f19b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -20,6 +20,8 @@ int main(int x, char **y) { parser.addOption(verbose); QCommandLineOption quiet(QStringList() << "quiet" << "q", "Be quiet, only errors are shown"); parser.addOption(quiet); + QCommandLineOption offline(QStringList() << "offline", "Don't download anything"); + parser.addOption(offline); parser.process(app.arguments()); auto args = parser.positionalArguments(); @@ -44,6 +46,7 @@ int main(int x, char **y) { logger->addConsoleChannel(); Processor processor(args.at(0), args.at(1)); + processor.setOffline(parser.isSet(offline)); if (!processor.run()) return 1;