mirror of https://github.com/kiwix/libkiwix.git
kiwix::onlyAsNonEmptyMustacheValue()
This commit is contained in:
parent
941c3b5df3
commit
96cbd2bf26
|
@ -73,9 +73,6 @@ IllustrationInfo getBookIllustrationInfo(const Book& book)
|
||||||
kainjow::mustache::object getSingleBookData(const Book& book)
|
kainjow::mustache::object getSingleBookData(const Book& book)
|
||||||
{
|
{
|
||||||
const auto bookDate = book.getDate() + "T00:00:00Z";
|
const auto bookDate = book.getDate() + "T00:00:00Z";
|
||||||
const MustacheData bookUrl = book.getUrl().empty()
|
|
||||||
? MustacheData(false)
|
|
||||||
: MustacheData(book.getUrl());
|
|
||||||
return kainjow::mustache::object{
|
return kainjow::mustache::object{
|
||||||
{"id", book.getId()},
|
{"id", book.getId()},
|
||||||
{"name", book.getName()},
|
{"name", book.getName()},
|
||||||
|
@ -92,7 +89,7 @@ kainjow::mustache::object getSingleBookData(const Book& book)
|
||||||
{"media_count", to_string(book.getMediaCount())},
|
{"media_count", to_string(book.getMediaCount())},
|
||||||
{"author_name", book.getCreator()},
|
{"author_name", book.getCreator()},
|
||||||
{"publisher_name", book.getPublisher()},
|
{"publisher_name", book.getPublisher()},
|
||||||
{"url", bookUrl},
|
{"url", onlyAsNonEmptyMustacheValue(book.getUrl())},
|
||||||
{"size", to_string(book.getSize())},
|
{"size", to_string(book.getSize())},
|
||||||
{"icons", getBookIllustrationInfo(book)},
|
{"icons", getBookIllustrationInfo(book)},
|
||||||
};
|
};
|
||||||
|
@ -194,7 +191,7 @@ string OPDSDumper::dumpOPDSFeed(const std::vector<std::string>& bookIds, const s
|
||||||
{"date", gen_date_str()},
|
{"date", gen_date_str()},
|
||||||
{"root", rootLocation},
|
{"root", rootLocation},
|
||||||
{"feed_id", gen_uuid(libraryId + "/catalog/search?"+query)},
|
{"feed_id", gen_uuid(libraryId + "/catalog/search?"+query)},
|
||||||
{"filter", query.empty() ? MustacheData(false) : MustacheData(query)},
|
{"filter", onlyAsNonEmptyMustacheValue(query)},
|
||||||
{"totalResults", to_string(m_totalResults)},
|
{"totalResults", to_string(m_totalResults)},
|
||||||
{"startIndex", to_string(m_startIndex)},
|
{"startIndex", to_string(m_startIndex)},
|
||||||
{"itemsPerPage", to_string(m_count)},
|
{"itemsPerPage", to_string(m_count)},
|
||||||
|
@ -214,7 +211,7 @@ string OPDSDumper::dumpOPDSFeedV2(const std::vector<std::string>& bookIds, const
|
||||||
{"date", gen_date_str()},
|
{"date", gen_date_str()},
|
||||||
{"endpoint_root", endpointRoot},
|
{"endpoint_root", endpointRoot},
|
||||||
{"feed_id", gen_uuid(libraryId + endpoint + "?" + query)},
|
{"feed_id", gen_uuid(libraryId + endpoint + "?" + query)},
|
||||||
{"filter", query.empty() ? MustacheData(false) : MustacheData(query)},
|
{"filter", onlyAsNonEmptyMustacheValue(query)},
|
||||||
{"query", query.empty() ? "" : "?" + urlEncode(query)},
|
{"query", query.empty() ? "" : "?" + urlEncode(query)},
|
||||||
{"totalResults", to_string(m_totalResults)},
|
{"totalResults", to_string(m_totalResults)},
|
||||||
{"startIndex", to_string(m_startIndex)},
|
{"startIndex", to_string(m_startIndex)},
|
||||||
|
|
|
@ -370,6 +370,13 @@ std::string kiwix::gen_uuid(const std::string& s)
|
||||||
return kiwix::to_string(zim::Uuid::generate(s));
|
return kiwix::to_string(zim::Uuid::generate(s));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kainjow::mustache::data kiwix::onlyAsNonEmptyMustacheValue(const std::string& s)
|
||||||
|
{
|
||||||
|
return s.empty()
|
||||||
|
? kainjow::mustache::data(false)
|
||||||
|
: kainjow::mustache::data(s);
|
||||||
|
}
|
||||||
|
|
||||||
std::string kiwix::render_template(const std::string& template_str, kainjow::mustache::data data)
|
std::string kiwix::render_template(const std::string& template_str, kainjow::mustache::data data)
|
||||||
{
|
{
|
||||||
kainjow::mustache::mustache tmpl(template_str);
|
kainjow::mustache::mustache tmpl(template_str);
|
||||||
|
|
|
@ -48,6 +48,10 @@ namespace kiwix
|
||||||
std::string gen_date_str();
|
std::string gen_date_str();
|
||||||
std::string gen_uuid(const std::string& s);
|
std::string gen_uuid(const std::string& s);
|
||||||
|
|
||||||
|
// if s is empty then returns kainjow::mustache::data(false)
|
||||||
|
// otherwise kainjow::mustache::data(value)
|
||||||
|
kainjow::mustache::data onlyAsNonEmptyMustacheValue(const std::string& s);
|
||||||
|
|
||||||
std::string render_template(const std::string& template_str, kainjow::mustache::data data);
|
std::string render_template(const std::string& template_str, kainjow::mustache::data data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue