Matthieu Gautier
c6254d9504
Allow the library to be filtered by tags.
...
This add an argument to `listBooksIds` to filter by tags.
So, this is an API break.
2019-03-07 17:08:39 +01:00
Matthieu Gautier
af7689e3e8
[API break] Move all the tools in the tools directory instead of common.
...
The `common` name is from the time where kiwix was only one repository
for all the project (android, desktop, server...).
Now we have split the repositories and kiwix-lib is the "common" repo,
the "common" directory is somehow nonsense.
2019-01-23 15:31:38 +01:00
Matthieu Gautier
12498e2cfe
Add bookmarks support.
...
The library now contains (simple) methods to handle bookmarks.
The bookmark are stored in a separate xml file.
Bookmark are mainly a couple (`zimId`, `articleUrl`).
However, in the xml we store a bit more data :
- The article's title (for display)
- The book's title, lang and date (for potential update of zim files)
2018-12-02 15:47:29 +01:00
Matthieu Gautier
b5ce60a627
Move the dump of the library into library.xml in a specific class.
...
The same way the dump into a opds feed is in a specific class.
2018-11-28 12:09:28 +01:00
Matthieu Gautier
cf1cfe774e
Correctly check for ArticleCount and MediaCount before writing them.
2018-11-12 10:58:10 +01:00
Matthieu Gautier
2682fa8f9c
Remove unecessary variable or output.
2018-10-26 14:19:10 +02:00
Matthieu Gautier
b1508c0b98
Better listBooksIds supported mode.
...
Only have REMOTE or LOCAL is a bit restrictive. By using flags a user
can specify for complex request.
2018-10-24 11:50:11 +02:00
Matthieu Gautier
a73ef23f6e
Keep the book size in byte in memory (instead of in kb)
...
We keep the size in kb in library.xml for compatibility.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
fe6d5fa93e
Store the downloadId in the book (and in the library).
2018-10-24 10:47:12 +02:00
Matthieu Gautier
7804bf2276
Reimplement listBooksIds.
...
No real improvement.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
839320d5e7
Move the `Book` class in its own source file.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
1e8f85eaff
Rename methods `title()` into `getTitle()`.
...
Same for all attributes.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
e0704b3b21
Move the initialization code of a book from xml|opds into Book.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
57fbb98bca
Do not store the favicon base64 encoded in the book.
...
The fact that the favicon is base64 encoded in a storage detail.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
66a9a69480
Move the code updating a book from a reader in the Book class.
2018-09-06 18:30:37 +02:00
Matthieu Gautier
aa6772b345
Remove the "last" book functionnality.
...
- This is not used by any application.
- This is application specific and should not be stored in the library
(who is a list of book).
2018-09-06 18:30:37 +02:00
Matthieu Gautier
bba3c252e4
Make the member of the book protected.
...
It is up to the book to manage its attribute.
Also remove the `absolutePath` (and `indexAbsolutePath`). The `Book::path` is always stored
absolute.
The fact that the path can be stored absolute or relative in the
`library.xml` is not relevant for the book.
2018-09-06 18:30:37 +02:00
Matthieu Gautier
57ac6f0305
Use a map to store the Library's books.
...
Having the books sorted is useless.
We handle books by id not by index.
2018-09-06 18:30:37 +02:00
Matthieu Gautier
c9eac04050
Make the Library`s book vector private.
...
Move a lot of methods from Manager to Library. Because books is private
and thoses methods are better in Library.
2018-09-06 18:30:37 +02:00
Matthieu Gautier
741c67786a
Add `update` method to `Book`.
2018-09-06 18:30:37 +02:00
Matthieu Gautier
f76e9d2dbf
Format all the code using clang-format.
...
Add a script `format_code.sh` to easily format the code.
2017-07-05 15:22:34 +02:00
Matthieu Gautier
8ce1fb0ba8
Switch build system to mesonbuild.
...
There is no more integrated build of dependencies in the build system.
Dependencies are discovered using pkg-config except for ctpp2 where there
is no pkg-config file.
2016-12-22 12:01:20 +01:00