From f691f857248c9289373d903a56a1b78c631f6605 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 24 Oct 2018 15:01:46 +0200 Subject: [PATCH] Correctly get the bookIds to the opdsfeed. We want to have LOCAL and REMOTE and VALID files. --- src/server/kiwix-serve.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/server/kiwix-serve.cpp b/src/server/kiwix-serve.cpp index ed36e46..088f3cc 100644 --- a/src/server/kiwix-serve.cpp +++ b/src/server/kiwix-serve.cpp @@ -686,12 +686,15 @@ static struct MHD_Response* handle_catalog(RequestContext* request) opdsDumper.setRootLocation(rootLocation); opdsDumper.setSearchDescriptionUrl("catalog/searchdescription.xml"); opdsDumper.setId(kiwix::to_string(uuid)); + opdsDumper.setLibrary(&library); mimeType = "application/atom+xml;profile=opds-catalog;kind=acquisition; charset=utf-8"; std::vector bookIdsToDump; if (url == "root.xml") { opdsDumper.setTitle("All zims"); uuid = zim::Uuid::generate(host); - bookIdsToDump = library.getBooksIds(); + + bookIdsToDump = library.listBooksIds( + kiwix::VALID|kiwix::LOCAL|kiwix::REMOTE); } else if (url == "search") { std::string query; try { @@ -701,12 +704,14 @@ static struct MHD_Response* handle_catalog(RequestContext* request) } opdsDumper.setTitle("Search result for " + query); uuid = zim::Uuid::generate(); - bookIdsToDump = library.filter(query); + bookIdsToDump = library.listBooksIds( + kiwix::VALID|kiwix::LOCAL|kiwix::REMOTE, + kiwix::UNSORTED, + query); } else { return build_404(request, ""); } - opdsDumper.setLibrary(&library); content = opdsDumper.dumpOPDSFeed(bookIdsToDump); }