Modified Kiwix-manage to incorporate origID parameter for diff files in the kiwix library.

Book class and Manager class modified.

-Kiran
This commit is contained in:
Kiran Mathew Koshy 2013-09-06 04:09:35 +05:30
parent 69f43266c0
commit 7fd2dce1fa
3 changed files with 67 additions and 61 deletions

View File

@ -67,6 +67,7 @@ namespace kiwix {
string publisher; string publisher;
string date; string date;
string url; string url;
string origID;
string articleCount; string articleCount;
string mediaCount; string mediaCount;
bool readOnly; bool readOnly;

View File

@ -56,6 +56,7 @@ namespace kiwix {
book.creator = bookNode.attribute("creator").value(); book.creator = bookNode.attribute("creator").value();
book.publisher = bookNode.attribute("publisher").value(); book.publisher = bookNode.attribute("publisher").value();
book.url = bookNode.attribute("url").value(); book.url = bookNode.attribute("url").value();
book.origID = bookNode.attribute("origId").value();
book.articleCount = bookNode.attribute("articleCount").value(); book.articleCount = bookNode.attribute("articleCount").value();
book.mediaCount = bookNode.attribute("mediaCount").value(); book.mediaCount = bookNode.attribute("mediaCount").value();
book.size = bookNode.attribute("size").value(); book.size = bookNode.attribute("size").value();
@ -177,6 +178,9 @@ namespace kiwix {
if (itr->url != "") if (itr->url != "")
bookNode.append_attribute("url") = itr->url.c_str(); bookNode.append_attribute("url") = itr->url.c_str();
if (itr->origID != "")
bookNode.append_attribute("origId") = itr->origID.c_str();
if (itr->articleCount != "") if (itr->articleCount != "")
bookNode.append_attribute("articleCount") = itr->articleCount.c_str(); bookNode.append_attribute("articleCount") = itr->articleCount.c_str();
@ -217,7 +221,7 @@ namespace kiwix {
/* Add a book to the library. Return empty string if failed, book id otherwise */ /* Add a book to the library. Return empty string if failed, book id otherwise */
string Manager::addBookFromPathAndGetId(const string pathToOpen, const string pathToSave, string Manager::addBookFromPathAndGetId(const string pathToOpen, const string pathToSave,
const string url, const bool checkMetaData) { const string url, const string origId, const bool checkMetaData) {
kiwix::Book book; kiwix::Book book;
if (this->readBookFromPath(pathToOpen, &book)) { if (this->readBookFromPath(pathToOpen, &book)) {
@ -231,6 +235,7 @@ namespace kiwix {
if (!checkMetaData || if (!checkMetaData ||
(checkMetaData && !book.title.empty() && !book.language.empty() && !book.date.empty())) { (checkMetaData && !book.title.empty() && !book.language.empty() && !book.date.empty())) {
book.url = url; book.url = url;
book.origID=origId;
library.addBook(book); library.addBook(book);
return book.id; return book.id;
} }
@ -240,8 +245,8 @@ namespace kiwix {
} }
/* Wrapper over Manager::addBookFromPath which return a bool instead of a string */ /* Wrapper over Manager::addBookFromPath which return a bool instead of a string */
bool Manager::addBookFromPath(const string pathToOpen, const string pathToSave, const string url, const bool checkMetaData) { bool Manager::addBookFromPath(const string pathToOpen, const string pathToSave, const string url, const string origId, const bool checkMetaData) {
return !(this->addBookFromPathAndGetId(pathToOpen, pathToSave, url, checkMetaData).empty()); return !(this->addBookFromPathAndGetId(pathToOpen, pathToSave, url, origId, checkMetaData).empty());
} }
bool Manager::readBookFromPath(const string path, kiwix::Book *book) { bool Manager::readBookFromPath(const string path, kiwix::Book *book) {

View File

@ -55,9 +55,9 @@ namespace kiwix {
string getCurrentBookId(); string getCurrentBookId();
bool setBookIndex(const string id, const string path, const supportedIndexType type); bool setBookIndex(const string id, const string path, const supportedIndexType type);
bool setBookPath(const string id, const string path); bool setBookPath(const string id, const string path);
string addBookFromPathAndGetId(const string pathToOpen, const string pathToSave = "", const string url = "", string addBookFromPathAndGetId(const string pathToOpen, const string pathToSave = "", const string url = "", const string origID="",
const bool checkMetaData = false); const bool checkMetaData = false);
bool addBookFromPath(const string pathToOpen, const string pathToSave = "", const string url = "", bool addBookFromPath(const string pathToOpen, const string pathToSave = "", const string url = "", const string origID="",
const bool checkMetaData = false); const bool checkMetaData = false);
Library cloneLibrary(); Library cloneLibrary();
bool getBookById(const string id, Book &book); bool getBookById(const string id, Book &book);