Matthieu Gautier
85a9d35488
Correctly detect the number of article for zim version <= 6
2022-04-06 17:21:14 +02:00
Veloman Yunkan
ae2d7d20dc
Handling of <dc:issued> in OPDS import
2022-02-23 14:20:49 +01:00
Nikhil Tanwar
854058f842
Introduce kiwix::fileReadable
...
kiwix::fileExists only checks for file existence now
kiwix::fileReadable will check if the file is readable (implicitly checking for file existence also)
2022-01-05 20:16:38 +05:30
Matthieu Gautier
9482bfb95b
Add a method to get the a book illustration for a specific size.
2022-01-04 14:16:46 +01:00
Matthieu Gautier
22e5327dcf
Do not create a dummy illustration if library.xml doesn't contain one.
...
Fix #644
2022-01-04 11:12:32 +01:00
Veloman Yunkan
339f845fb0
Bugfix in Book::getHumanReadableIdFromPath()
2021-11-22 20:54:44 +04:00
Veloman Yunkan
4a01081e83
Thread-safe Book::Illustration::getData()
2021-11-19 16:44:25 +04:00
Veloman Yunkan
eb6a0d6456
Enter Book::getIllustrations()
2021-11-18 14:39:00 +04:00
Veloman Yunkan
e2544799a1
Shorter Book::update()
2021-11-18 14:39:00 +04:00
Veloman Yunkan
9f42884507
Book's illustrations are now immutable
2021-11-18 14:39:00 +04:00
Veloman Yunkan
8a6adddc16
Non-throwing Book::getDefaultIllustration()
2021-11-18 14:39:00 +04:00
Veloman Yunkan
c8da5eea2b
Dropped Book::getMutableDefaultIllustration()
...
Now a Book is created without a default illustration.
2021-11-18 14:38:00 +04:00
Veloman Yunkan
bd29c4c7ef
Book::updateFromOpds() resets Book::m_illustrations
2021-11-18 14:37:12 +04:00
Veloman Yunkan
e52a4a646b
Book::updateFromXml() resets Book::m_illustrations
2021-11-18 14:36:42 +04:00
Veloman Yunkan
537ba7e6b9
Book::update() reads illustrations from ZIM file
2021-11-18 14:35:49 +04:00
Veloman Yunkan
f4bc3c8ced
Book::Illustration got dimensions
2021-11-18 14:34:51 +04:00
Veloman Yunkan
5263f6880c
Internally Book supports multiple illustrations
2021-11-18 14:34:51 +04:00
Veloman Yunkan
c129952605
Added a couple of notes on data consistency
2021-11-18 14:34:48 +04:00
Veloman Yunkan
9f0db6b7fa
Book::Illustration::getData()
2021-11-18 14:33:50 +04:00
Veloman Yunkan
7d8a83cc97
Encapsulated access to Book::m_illustration
2021-11-18 14:32:52 +04:00
Veloman Yunkan
ec5a423924
Enter Book::Illustration
...
`Book::m_favicon` and its 2 friends are replaced with a single
`Book::m_illustration` data member.
2021-11-18 13:31:08 +04:00
Veloman Yunkan
811b73a4f1
Moved 2 small method definitions to cpp
2021-11-18 13:27:27 +04:00
Veloman Yunkan
452283cfe6
Handling of /meta?name=Illustration_WxH@1 requests
2021-08-05 22:28:09 +04:00
Maneesh P M
8b12434ff2
Update kiwix::book to use libzim structure
...
Some methods in kiwix::Book uses wrapper structure reader. This usage should
be extended from the native libzim structure zim::Archive
2021-08-03 11:42:58 +02:00
Matthieu Gautier
b70c92cade
Move back used helper functions to the public API.
...
- Add docstring
- Move the declaration in kiwix namespace.
- Adapt our include to include the right headers.
2021-07-07 14:43:13 +02:00
Matthieu Gautier
fa83a61a54
Move all public *Tools.h in src.
...
This by definition remove all the tool functions from the public API.
2021-07-07 14:43:13 +02:00
Veloman Yunkan
b7b0bdbdd8
Both Book::update() methods update the category
2021-03-17 14:10:57 +04:00
Veloman Yunkan
4abc4f8518
Support for book category attribute in library.xml
2021-03-17 14:10:57 +04:00
Veloman Yunkan
6b2067c236
Reading category element from OPDS stream
2021-03-17 14:10:57 +04:00
Veloman Yunkan
58186ffb26
kiwix::Book::getCategory()
2021-03-17 14:09:48 +04:00
Matthieu Gautier
533541cf45
Write the articleCount and mediaCount metadata in the OPDS stream.
...
This is not standard OPDS. But clients need this information.
2020-04-07 12:22:44 +02:00
Matthieu Gautier
34257cfc1f
Trust the library.xml information by default.
...
Do not try to read the zim file and update the book when parsing a
library.xml.
Needed by kiwix/kiwix-tools#319
2020-01-30 18:22:07 +01:00
Matthieu Gautier
a756e7f8f3
Add flavour attribute to book.
...
Fix #259
Fix kiwix/kiwix-tools#316
2020-01-30 17:48:56 +01:00
Matthieu Gautier
bc257d2d6d
Add method to get value of tag from a book.
...
Only the `getTagStr` method is available on android because we need a
proper exception handling on wrapping side.
Fix #298
2020-01-30 17:48:56 +01:00
Matthieu Gautier
2881face70
Add missing setting of attribute.
2020-01-30 15:42:54 +01:00
Matthieu Gautier
77ba09c310
Reorder setting and dumper of book attribute.
...
No real change. Reordering setting and dumping of attribute in the same
order (mostly) they are declared in book.h make it easier to detect missing
attribute.
2020-01-30 15:42:54 +01:00
Matthieu Gautier
7e26f3502d
Fix opds dumper/parser.
...
Add missing attributes.
2020-01-30 15:42:54 +01:00
luddens
ff21a095cb
update book even if the members aren't empty
...
remove the conditions to always update the book
2020-01-27 17:50:44 +01:00
Matthieu Gautier
231ae095f6
Correctly set that book's path is valid when updating it from a reader.
2019-08-12 12:43:52 +02:00
Matthieu Gautier
656bf183b7
Make getHumanReadableFromPath method const.
2019-08-11 10:19:48 +02:00
luddens
519dd110f5
add tags in opds stream
2019-05-14 10:51:22 +02: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
5159d985c6
Remove support for external index.
...
This feature is considered obsolete for a while.
In fact, it was already not supported since June 2018 as we were compiling
xapian without the chert backend support.
Assume that we don't support it and remove it from the code.
See kiwix/kiwix-tools#245
This is a API break. library.xml files will still work but the indexPath
and indexType will be dropped silently from the file.
2019-01-07 16:47:08 +01:00
Matthieu Gautier
e6d7ba06fb
Convert the standard opds date to our format (YYYY-MM-DD)
2018-12-11 17:02:02 +01:00
Matthieu Gautier
4b31842c4a
Correctly convert filesize from Kbyte to byte.
...
`reader.getFileSize()` return the size of the zim in Kbyte in a
`unsigned int` (32 bits). This is ok as it would overflow if the size
of the size is greater than 4294967295 kbytes (so ~4Tbytes).
However, we need to convert the return size into a unsigned 64 bits integer
else, when converting to bytes, we will overflow at 4Gbytes.
Even in `m_size` is a uint64_t.
2018-11-12 12:16:05 +01:00
Matthieu Gautier
a22f962722
Correctly store the size of the book in the library.
...
`reader.getFileSize()` return ko.
2018-10-26 14:18:40 +02:00
Matthieu Gautier
c6206edfb4
Do not always download the favicon of a book. Download as needed.
...
When parsing a opds feed, the favicon is a url, not a dataurl.
If we download the favicon all the times, it may take a lot of time to
parse the feed.
We store the url and download the favicon only when needed (when displayed)
2018-10-24 11:56:05 +02:00
Matthieu Gautier
c66c7e9c20
Store the size of the book in OPDSFeed.
2018-10-24 10:47:12 +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