mirror of https://github.com/kiwix/libkiwix.git
Rename humanReadableBookId to bookName.
`humanReadableBookId` is a bit long and doesn't represent what it is (this is not a id). `bookName` is far better.
This commit is contained in:
parent
2aeed65205
commit
e5ef3780db
|
@ -325,7 +325,7 @@ Response InternalServer::get_default_response()
|
||||||
|
|
||||||
|
|
||||||
Response InternalServer::build_404(const RequestContext& request,
|
Response InternalServer::build_404(const RequestContext& request,
|
||||||
const std::string& humanReadableBookId)
|
const std::string& bookName)
|
||||||
{
|
{
|
||||||
kainjow::mustache::data results;
|
kainjow::mustache::data results;
|
||||||
results.set("url", request.get_full_url());
|
results.set("url", request.get_full_url());
|
||||||
|
@ -335,7 +335,7 @@ Response InternalServer::build_404(const RequestContext& request,
|
||||||
response.set_mimeType("text/html");
|
response.set_mimeType("text/html");
|
||||||
response.set_code(MHD_HTTP_NOT_FOUND);
|
response.set_code(MHD_HTTP_NOT_FOUND);
|
||||||
response.set_compress(true);
|
response.set_compress(true);
|
||||||
response.set_taskbar(humanReadableBookId, "");
|
response.set_taskbar(bookName, "");
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
@ -369,21 +369,21 @@ Response InternalServer::build_homepage(const RequestContext& request)
|
||||||
|
|
||||||
Response InternalServer::handle_meta(const RequestContext& request)
|
Response InternalServer::handle_meta(const RequestContext& request)
|
||||||
{
|
{
|
||||||
std::string humanReadableBookId;
|
std::string bookName;
|
||||||
std::string bookId;
|
std::string bookId;
|
||||||
std::string meta_name;
|
std::string meta_name;
|
||||||
std::shared_ptr<Reader> reader;
|
std::shared_ptr<Reader> reader;
|
||||||
try {
|
try {
|
||||||
humanReadableBookId = request.get_argument("content");
|
bookName = request.get_argument("content");
|
||||||
bookId = mp_nameMapper->getIdForName(humanReadableBookId);
|
bookId = mp_nameMapper->getIdForName(bookName);
|
||||||
meta_name = request.get_argument("name");
|
meta_name = request.get_argument("name");
|
||||||
reader = m_library.getReaderById(bookId);
|
reader = m_library.getReaderById(bookId);
|
||||||
} catch (const std::out_of_range& e) {
|
} catch (const std::out_of_range& e) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reader == nullptr) {
|
if (reader == nullptr) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string content;
|
std::string content;
|
||||||
|
@ -408,7 +408,7 @@ Response InternalServer::handle_meta(const RequestContext& request)
|
||||||
} else if (meta_name == "favicon") {
|
} else if (meta_name == "favicon") {
|
||||||
reader->getFavicon(content, mimeType);
|
reader->getFavicon(content, mimeType);
|
||||||
} else {
|
} else {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto response = get_default_response();
|
auto response = get_default_response();
|
||||||
|
@ -431,17 +431,17 @@ Response InternalServer::handle_suggest(const RequestContext& request)
|
||||||
unsigned int suggestionCount = 0;
|
unsigned int suggestionCount = 0;
|
||||||
std::string suggestion;
|
std::string suggestion;
|
||||||
|
|
||||||
std::string humanReadableBookId;
|
std::string bookName;
|
||||||
std::string bookId;
|
std::string bookId;
|
||||||
std::string term;
|
std::string term;
|
||||||
std::shared_ptr<Reader> reader;
|
std::shared_ptr<Reader> reader;
|
||||||
try {
|
try {
|
||||||
humanReadableBookId = request.get_argument("content");
|
bookName = request.get_argument("content");
|
||||||
bookId = mp_nameMapper->getIdForName(humanReadableBookId);
|
bookId = mp_nameMapper->getIdForName(bookName);
|
||||||
term = request.get_argument("term");
|
term = request.get_argument("term");
|
||||||
reader = m_library.getReaderById(bookId);
|
reader = m_library.getReaderById(bookId);
|
||||||
} catch (const std::out_of_range&) {
|
} catch (const std::out_of_range&) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_verbose.load()) {
|
if (m_verbose.load()) {
|
||||||
|
@ -513,12 +513,12 @@ Response InternalServer::handle_search(const RequestContext& request)
|
||||||
std::string mimeType;
|
std::string mimeType;
|
||||||
std::string httpRedirection;
|
std::string httpRedirection;
|
||||||
|
|
||||||
std::string humanReadableBookId;
|
std::string bookName;
|
||||||
std::string patternString;
|
std::string patternString;
|
||||||
std::string bookId;
|
std::string bookId;
|
||||||
try {
|
try {
|
||||||
humanReadableBookId = request.get_argument("content");
|
bookName = request.get_argument("content");
|
||||||
bookId = mp_nameMapper->getIdForName(humanReadableBookId);
|
bookId = mp_nameMapper->getIdForName(bookName);
|
||||||
} catch (const std::out_of_range&) {}
|
} catch (const std::out_of_range&) {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -563,7 +563,7 @@ Response InternalServer::handle_search(const RequestContext& request)
|
||||||
/* If article found then redirect directly to it */
|
/* If article found then redirect directly to it */
|
||||||
if (!patternCorrespondingUrl.empty()) {
|
if (!patternCorrespondingUrl.empty()) {
|
||||||
auto response = get_default_response();
|
auto response = get_default_response();
|
||||||
response.set_redirection(m_root + "/" + humanReadableBookId + "/" + patternCorrespondingUrl);
|
response.set_redirection(m_root + "/" + bookName + "/" + patternCorrespondingUrl);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -571,14 +571,14 @@ Response InternalServer::handle_search(const RequestContext& request)
|
||||||
/* Make the search */
|
/* Make the search */
|
||||||
auto response = get_default_response();
|
auto response = get_default_response();
|
||||||
response.set_mimeType("text/html; charset=utf-8");
|
response.set_mimeType("text/html; charset=utf-8");
|
||||||
response.set_taskbar(humanReadableBookId, reader ? reader->getTitle() : "");
|
response.set_taskbar(bookName, reader ? reader->getTitle() : "");
|
||||||
response.set_compress(true);
|
response.set_compress(true);
|
||||||
|
|
||||||
Searcher searcher;
|
Searcher searcher;
|
||||||
if (reader) {
|
if (reader) {
|
||||||
searcher.add_reader(reader.get());
|
searcher.add_reader(reader.get());
|
||||||
} else {
|
} else {
|
||||||
if (humanReadableBookId.empty()) {
|
if (bookName.empty()) {
|
||||||
for (auto& bookId: m_library.filter(kiwix::Filter().local(true).valid(true))) {
|
for (auto& bookId: m_library.filter(kiwix::Filter().local(true).valid(true))) {
|
||||||
auto currentReader = m_library.getReaderById(bookId);
|
auto currentReader = m_library.getReaderById(bookId);
|
||||||
if (currentReader) {
|
if (currentReader) {
|
||||||
|
@ -620,7 +620,7 @@ Response InternalServer::handle_search(const RequestContext& request)
|
||||||
}
|
}
|
||||||
SearchRenderer renderer(&searcher, mp_nameMapper);
|
SearchRenderer renderer(&searcher, mp_nameMapper);
|
||||||
renderer.setSearchPattern(patternString);
|
renderer.setSearchPattern(patternString);
|
||||||
renderer.setSearchContent(humanReadableBookId);
|
renderer.setSearchContent(bookName);
|
||||||
renderer.setProtocolPrefix(m_root + "/");
|
renderer.setProtocolPrefix(m_root + "/");
|
||||||
renderer.setSearchProtocolPrefix(m_root + "/search?");
|
renderer.setSearchProtocolPrefix(m_root + "/search?");
|
||||||
response.set_content(renderer.getHtml());
|
response.set_content(renderer.getHtml());
|
||||||
|
@ -640,29 +640,29 @@ Response InternalServer::handle_random(const RequestContext& request)
|
||||||
printf("** running handle_random\n");
|
printf("** running handle_random\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string humanReadableBookId;
|
std::string bookName;
|
||||||
std::string bookId;
|
std::string bookId;
|
||||||
std::shared_ptr<Reader> reader;
|
std::shared_ptr<Reader> reader;
|
||||||
try {
|
try {
|
||||||
humanReadableBookId = request.get_argument("content");
|
bookName = request.get_argument("content");
|
||||||
bookId = mp_nameMapper->getIdForName(humanReadableBookId);
|
bookId = mp_nameMapper->getIdForName(bookName);
|
||||||
reader = m_library.getReaderById(bookId);
|
reader = m_library.getReaderById(bookId);
|
||||||
} catch (const std::out_of_range&) {
|
} catch (const std::out_of_range&) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reader == nullptr) {
|
if (reader == nullptr) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
auto entry = reader->getRandomPage();
|
auto entry = reader->getRandomPage();
|
||||||
entry = entry.getFinalEntry();
|
entry = entry.getFinalEntry();
|
||||||
auto response = get_default_response();
|
auto response = get_default_response();
|
||||||
response.set_redirection(m_root + "/" + humanReadableBookId + "/" + kiwix::urlEncode(entry.getPath()));
|
response.set_redirection(m_root + "/" + bookName + "/" + kiwix::urlEncode(entry.getPath()));
|
||||||
return response;
|
return response;
|
||||||
} catch(kiwix::NoEntry& e) {
|
} catch(kiwix::NoEntry& e) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -762,29 +762,29 @@ Response InternalServer::handle_content(const RequestContext& request)
|
||||||
|
|
||||||
kiwix::Entry entry;
|
kiwix::Entry entry;
|
||||||
|
|
||||||
std::string humanReadableBookId;
|
std::string bookName;
|
||||||
try {
|
try {
|
||||||
humanReadableBookId = request.get_url_part(0);
|
bookName = request.get_url_part(0);
|
||||||
} catch (const std::out_of_range& e) {
|
} catch (const std::out_of_range& e) {
|
||||||
return build_homepage(request);
|
return build_homepage(request);
|
||||||
}
|
}
|
||||||
if (humanReadableBookId.size() == 0)
|
if (bookName.empty())
|
||||||
return build_homepage(request);
|
return build_homepage(request);
|
||||||
|
|
||||||
std::string bookId;
|
std::string bookId;
|
||||||
std::shared_ptr<Reader> reader;
|
std::shared_ptr<Reader> reader;
|
||||||
try {
|
try {
|
||||||
bookId = mp_nameMapper->getIdForName(humanReadableBookId);
|
bookId = mp_nameMapper->getIdForName(bookName);
|
||||||
reader = m_library.getReaderById(bookId);
|
reader = m_library.getReaderById(bookId);
|
||||||
} catch (const std::out_of_range& e) {
|
} catch (const std::out_of_range& e) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reader == nullptr) {
|
if (reader == nullptr) {
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto urlStr = request.get_url().substr(humanReadableBookId.size()+1);
|
auto urlStr = request.get_url().substr(bookName.size()+1);
|
||||||
if (urlStr[0] == '/') {
|
if (urlStr[0] == '/') {
|
||||||
urlStr = urlStr.substr(1);
|
urlStr = urlStr.substr(1);
|
||||||
}
|
}
|
||||||
|
@ -796,7 +796,7 @@ Response InternalServer::handle_content(const RequestContext& request)
|
||||||
// We must do a redirection to the real page.
|
// We must do a redirection to the real page.
|
||||||
entry = entry.getFinalEntry();
|
entry = entry.getFinalEntry();
|
||||||
auto response = get_default_response();
|
auto response = get_default_response();
|
||||||
response.set_redirection(m_root + "/" + humanReadableBookId + "/" +
|
response.set_redirection(m_root + "/" + bookName + "/" +
|
||||||
kiwix::urlEncode(entry.getPath()));
|
kiwix::urlEncode(entry.getPath()));
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
@ -804,7 +804,7 @@ Response InternalServer::handle_content(const RequestContext& request)
|
||||||
if (m_verbose.load())
|
if (m_verbose.load())
|
||||||
printf("Failed to find %s\n", urlStr.c_str());
|
printf("Failed to find %s\n", urlStr.c_str());
|
||||||
|
|
||||||
return build_404(request, humanReadableBookId);
|
return build_404(request, bookName);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -830,15 +830,15 @@ Response InternalServer::handle_content(const RequestContext& request)
|
||||||
* /A/Kiwix */
|
* /A/Kiwix */
|
||||||
if (mimeType.find("text/html") != string::npos) {
|
if (mimeType.find("text/html") != string::npos) {
|
||||||
content = replaceRegex(content,
|
content = replaceRegex(content,
|
||||||
"$1$2" + m_root + "/" + humanReadableBookId + "/$3/",
|
"$1$2" + m_root + "/" + bookName + "/$3/",
|
||||||
"(href|src)(=[\"|\']{0,1})/([A-Z|\\-])/");
|
"(href|src)(=[\"|\']{0,1})/([A-Z|\\-])/");
|
||||||
content = replaceRegex(content,
|
content = replaceRegex(content,
|
||||||
"$1$2" + m_root + "/" + humanReadableBookId + "/$3/",
|
"$1$2" + m_root + "/" + bookName + "/$3/",
|
||||||
"(@import[ ]+)([\"|\']{0,1})/([A-Z|\\-])/");
|
"(@import[ ]+)([\"|\']{0,1})/([A-Z|\\-])/");
|
||||||
response.set_taskbar(humanReadableBookId, reader->getTitle());
|
response.set_taskbar(bookName, reader->getTitle());
|
||||||
} else if (mimeType.find("text/css") != string::npos) {
|
} else if (mimeType.find("text/css") != string::npos) {
|
||||||
content = replaceRegex(content,
|
content = replaceRegex(content,
|
||||||
"$1$2" + m_root + "/" + humanReadableBookId + "/$3/",
|
"$1$2" + m_root + "/" + bookName + "/$3/",
|
||||||
"(url|URL)(\\([\"|\']{0,1})/([A-Z|\\-])/");
|
"(url|URL)(\\([\"|\']{0,1})/([A-Z|\\-])/");
|
||||||
}
|
}
|
||||||
response.set_content(content);
|
response.set_content(content);
|
||||||
|
|
Loading…
Reference in New Issue