From 3ca631eac82eaace58617f60bb8f882cb8c67244 Mon Sep 17 00:00:00 2001 From: Emmanuel Engelhart Date: Sun, 18 Sep 2022 16:54:28 +0200 Subject: [PATCH] Filter out service worker based content from the online library --- src/opdsrequestmanager.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/opdsrequestmanager.cpp b/src/opdsrequestmanager.cpp index 2ef1d82..197a145 100644 --- a/src/opdsrequestmanager.cpp +++ b/src/opdsrequestmanager.cpp @@ -12,24 +12,32 @@ OpdsRequestManager::OpdsRequestManager() void OpdsRequestManager::doUpdate(const QString& currentLanguage, const QString& categoryFilter) { QUrlQuery query; + + // Service worker ZIM files are not (yet) supported + QStringList excludeTags("_sw:yes"); + + // Add filter by language (if necessary) if (currentLanguage != "*") { query.addQueryItem("lang", currentLanguage); } + + // Request all results (no pagination) query.addQueryItem("count", QString::number(-1)); + + // Add filter by category (if necessary) if (categoryFilter != "all" && categoryFilter != "other") { query.addQueryItem("tag", "_category:"+categoryFilter); } + // Add "special negative" filter for "other" category (if necessary) if (categoryFilter == "other") { - QStringList excludeTags; for (auto& category: S_CATEGORIES) { if (category.first != "other" && category.first != "all") { - excludeTags += "_category:"+category.first; + excludeTags += "_category:"+category.first; } } - query.addQueryItem("notag", excludeTags.join(";")); } - + query.addQueryItem("notag", excludeTags.join(";")); QUrl url; url.setScheme("https");