Extracted HumanReadableNameMapper::mapName()

No cleanup of the new function was performed to keep the diff minimal.
This commit is contained in:
Veloman Yunkan 2024-03-04 17:30:13 +04:00 committed by Matthieu Gautier
parent 4e64d26ede
commit 5b9daf0d9d
2 changed files with 10 additions and 1 deletions

View File

@ -54,6 +54,9 @@ class HumanReadableNameMapper : public NameMapper {
virtual ~HumanReadableNameMapper() = default; virtual ~HumanReadableNameMapper() = default;
virtual std::string getNameForId(const std::string& id) const; virtual std::string getNameForId(const std::string& id) const;
virtual std::string getIdForName(const std::string& name) const; virtual std::string getIdForName(const std::string& name) const;
private:
void mapName(const kiwix::Library& lib, std::string name, std::string id);
}; };
class UpdatableNameMapper : public NameMapper { class UpdatableNameMapper : public NameMapper {

View File

@ -38,9 +38,16 @@ HumanReadableNameMapper::HumanReadableNameMapper(kiwix::Library& library, bool w
if (aliasName == bookName) { if (aliasName == bookName) {
continue; continue;
} }
mapName(library, aliasName, bookId);
}
}
void HumanReadableNameMapper::mapName(const Library& library, std::string aliasName, std::string bookId) {
if (m_nameToId.find(aliasName) == m_nameToId.end()) { if (m_nameToId.find(aliasName) == m_nameToId.end()) {
m_nameToId[aliasName] = bookId; m_nameToId[aliasName] = bookId;
} else { } else {
const auto& currentBook = library.getBookById(bookId);
auto alreadyPresentPath = library.getBookById(m_nameToId[aliasName]).getPath(); auto alreadyPresentPath = library.getBookById(m_nameToId[aliasName]).getPath();
std::cerr << "Path collision: " << alreadyPresentPath std::cerr << "Path collision: " << alreadyPresentPath
<< " and " << currentBook.getPath() << " and " << currentBook.getPath()
@ -48,7 +55,6 @@ HumanReadableNameMapper::HumanReadableNameMapper(kiwix::Library& library, bool w
<< " Therefore, only " << alreadyPresentPath << " Therefore, only " << alreadyPresentPath
<< " will be served." << std::endl; << " will be served." << std::endl;
} }
}
} }
std::string HumanReadableNameMapper::getNameForId(const std::string& id) const { std::string HumanReadableNameMapper::getNameForId(const std::string& id) const {