mirror of https://github.com/kiwix/libkiwix.git
Add a prefix in get_search_filter
The prefix will be used to parse a "query to select book" in different context. For now we have only one context : selecting books for the catalog search. But we will want to select books to do fulltext search on them (will be done in later commit)
This commit is contained in:
parent
76ebfd7ea4
commit
4438106c2f
|
@ -95,29 +95,29 @@ inline std::string normalizeRootUrl(std::string rootUrl)
|
||||||
return rootUrl.empty() ? rootUrl : "/" + rootUrl;
|
return rootUrl.empty() ? rootUrl : "/" + rootUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
Filter get_search_filter(const RequestContext& request)
|
Filter get_search_filter(const RequestContext& request, const std::string& prefix="")
|
||||||
{
|
{
|
||||||
auto filter = kiwix::Filter().valid(true).local(true);
|
auto filter = kiwix::Filter().valid(true).local(true);
|
||||||
try {
|
try {
|
||||||
filter.query(request.get_argument("q"));
|
filter.query(request.get_argument(prefix+"q"));
|
||||||
} catch (const std::out_of_range&) {}
|
} catch (const std::out_of_range&) {}
|
||||||
try {
|
try {
|
||||||
filter.maxSize(request.get_argument<unsigned long>("maxsize"));
|
filter.maxSize(request.get_argument<unsigned long>(prefix+"maxsize"));
|
||||||
} catch (...) {}
|
} catch (...) {}
|
||||||
try {
|
try {
|
||||||
filter.name(request.get_argument("name"));
|
filter.name(request.get_argument(prefix+"name"));
|
||||||
} catch (const std::out_of_range&) {}
|
} catch (const std::out_of_range&) {}
|
||||||
try {
|
try {
|
||||||
filter.category(request.get_argument("category"));
|
filter.category(request.get_argument(prefix+"category"));
|
||||||
} catch (const std::out_of_range&) {}
|
} catch (const std::out_of_range&) {}
|
||||||
try {
|
try {
|
||||||
filter.lang(request.get_argument("lang"));
|
filter.lang(request.get_argument(prefix+"lang"));
|
||||||
} catch (const std::out_of_range&) {}
|
} catch (const std::out_of_range&) {}
|
||||||
try {
|
try {
|
||||||
filter.acceptTags(kiwix::split(request.get_argument("tag"), ";"));
|
filter.acceptTags(kiwix::split(request.get_argument(prefix+"tag"), ";"));
|
||||||
} catch (...) {}
|
} catch (...) {}
|
||||||
try {
|
try {
|
||||||
filter.rejectTags(kiwix::split(request.get_argument("notag"), ";"));
|
filter.rejectTags(kiwix::split(request.get_argument(prefix+"notag"), ";"));
|
||||||
} catch (...) {}
|
} catch (...) {}
|
||||||
return filter;
|
return filter;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue