Merge pull request #887 from kiwix/no-sw-zim

This commit is contained in:
Kelson 2022-09-25 20:57:35 +02:00 committed by GitHub
commit fde6d1fcc8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,24 +12,32 @@ OpdsRequestManager::OpdsRequestManager()
void OpdsRequestManager::doUpdate(const QString& currentLanguage, const QString& categoryFilter) void OpdsRequestManager::doUpdate(const QString& currentLanguage, const QString& categoryFilter)
{ {
QUrlQuery query; QUrlQuery query;
// Service worker ZIM files are not (yet) supported
QStringList excludeTags("_sw:yes");
// Add filter by language (if necessary)
if (currentLanguage != "*") { if (currentLanguage != "*") {
query.addQueryItem("lang", currentLanguage); query.addQueryItem("lang", currentLanguage);
} }
// Request all results (no pagination)
query.addQueryItem("count", QString::number(-1)); query.addQueryItem("count", QString::number(-1));
// Add filter by category (if necessary)
if (categoryFilter != "all" && categoryFilter != "other") { if (categoryFilter != "all" && categoryFilter != "other") {
query.addQueryItem("tag", "_category:"+categoryFilter); query.addQueryItem("tag", "_category:"+categoryFilter);
} }
// Add "special negative" filter for "other" category (if necessary)
if (categoryFilter == "other") { if (categoryFilter == "other") {
QStringList excludeTags;
for (auto& category: S_CATEGORIES) { for (auto& category: S_CATEGORIES) {
if (category.first != "other" && category.first != "all") { 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; QUrl url;
url.setScheme("https"); url.setScheme("https");