diff --git a/src/common/kiwix/library.cpp b/src/common/kiwix/library.cpp index 0b6618b1e..0b4baa1a2 100644 --- a/src/common/kiwix/library.cpp +++ b/src/common/kiwix/library.cpp @@ -36,7 +36,8 @@ namespace kiwix { url(""), articleCount(""), mediaCount(""), - readOnly(false) { + readOnly(false), + size("") { } /* Destructor */ diff --git a/src/common/kiwix/library.h b/src/common/kiwix/library.h index a2a61cba2..8cd45e304 100644 --- a/src/common/kiwix/library.h +++ b/src/common/kiwix/library.h @@ -25,7 +25,7 @@ #include #include -#define KIWIX_LIBRARY_VERSION "20110503" +#define KIWIX_LIBRARY_VERSION "20110512" using namespace std; @@ -55,6 +55,7 @@ namespace kiwix { string articleCount; string mediaCount; bool readOnly; + string size; }; class Library { diff --git a/src/common/kiwix/manager.cpp b/src/common/kiwix/manager.cpp index 81d9b869d..033df35d5 100644 --- a/src/common/kiwix/manager.cpp +++ b/src/common/kiwix/manager.cpp @@ -57,6 +57,7 @@ namespace kiwix { book.url = bookNode.attribute("url").value(); book.articleCount = bookNode.attribute("articleCount").value(); book.mediaCount = bookNode.attribute("mediaCount").value(); + book.size = bookNode.attribute("size").value(); /* Update the book properties with the new importer */ if (libraryVersion.empty() || atoi(libraryVersion.c_str()) < atoi(KIWIX_LIBRARY_VERSION)) { @@ -134,7 +135,9 @@ namespace kiwix { if (itr->mediaCount != "") bookNode.append_attribute("mediaCount") = itr->mediaCount.c_str(); - + + if (itr->size != "") + bookNode.append_attribute("size") = itr->size.c_str(); } } @@ -184,6 +187,14 @@ namespace kiwix { std::ostringstream mediaCountStream; mediaCountStream << reader.getMediaCount(); book.mediaCount = mediaCountStream.str(); + + struct stat filestatus; + stat( path.c_str(), &filestatus ); + unsigned int size = filestatus.st_size / 1024; + char csize[42]; + sprintf (csize, "%u", size); + book.size = csize; + } catch (...) { return false; } diff --git a/src/common/kiwix/manager.h b/src/common/kiwix/manager.h index c801c456f..63343b688 100644 --- a/src/common/kiwix/manager.h +++ b/src/common/kiwix/manager.h @@ -20,12 +20,17 @@ #ifndef KIWIX_MANAGER_H #define KIWIX_MANAGER_H -#include -#include #include #include -#include #include +#include +#include +#include +#include +#include + +#include +#include using namespace std;