Veloman Yunkan
e5168d8b3d
Support for multiple illustrations in OPDS entry
2021-08-05 22:21:13 +04:00
Veloman Yunkan
ab3095745e
Languages OPDS feed includes book counts
2021-08-03 11:32:38 +02:00
Veloman Yunkan
45adda44b3
Got rid of <content> node in languages OPDS entry
2021-08-03 11:32:38 +02:00
Veloman Yunkan
96cf7e78a5
OPDSDumper::categoriesOPDSFeed() with no args
2021-08-03 11:32:38 +02:00
Veloman Yunkan
dd118df612
Got rid of langMap in opds_dumper.cpp
...
Language code to human friendly name translation is now done with the
help of the ICU library. It works if the line
```
-include $(LANGSRCDIR)/resfiles.mk
```
in the file `source/data/Makefile.in` of the icu4c dependency is not
commented out. Currently, the said line is commented out (along with
some other include's) by the `icu4c_custom_data.patch` patch of the
`kiwix-build` tool.
2021-08-03 11:32:38 +02:00
Veloman Yunkan
5f90f5ee2a
Preliminary version of /catalog/v2/languages
2021-08-03 11:32:38 +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
78083f1f4a
Moved OPDS templates under static/templates
2021-06-08 20:37:00 +04:00
Veloman Yunkan
dd60235010
Fixed the self link in the output of /catalog/v2/entries
2021-06-08 20:37:00 +04:00
Veloman Yunkan
e799f2ff1e
OPDSDumper::dumpOPDSFeed() works via mustache
...
This changes the output of `/catalog/search` as follows:
- Entire search query (rather than only the value of the `q` parameter)
is put in the <title> node.
- Search performed with an empty query presents itself as "All zims".
- The feed id remains stable for identical searches on the same
library.
2021-06-08 20:37:00 +04:00
Veloman Yunkan
fa42cbc48f
Pagination info in /catalog/v2/entries
2021-06-08 20:37:00 +04:00
Veloman Yunkan
9ca6bd006f
/catalog/v2/categories goes through OPDSDumper too
2021-06-08 20:37:00 +04:00
Veloman Yunkan
cdacc0caf1
/catalog/v2/entries going through OPDSDumper
...
OPDSDumper sensed threats to its job security, so it lobbied to be
involved in handling the /catalog/v2 endpoints, too.
2021-06-08 20:37:00 +04:00
Veloman Yunkan
54b78eaf56
Moved gen_date_str() to tools/otherTools.cpp
2021-06-08 16:03:43 +04:00
Veloman Yunkan
1e0ff1fbb0
Fixed the double colon in OPDS date string
2021-06-08 16:03:43 +04:00
Veloman Yunkan
58186ffb26
kiwix::Book::getCategory()
2021-03-17 14:09:48 +04:00
Veloman Yunkan
ae32ff40c0
Dropped an extra colon from book <updated> dates
2021-03-17 14:02:27 +04:00
Veloman Yunkan
26331b401e
Fixed the month in OPDS feed <updated> date
...
`tm::tm_mon` varies in the [0, 11] range.
2021-03-17 14:02:27 +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
a756e7f8f3
Add flavour attribute to book.
...
Fix #259
Fix kiwix/kiwix-tools#316
2020-01-30 17:48:56 +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
Matthieu Gautier
6234457920
Fix include in stringTools.h
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
0f812c6584
The update entry of the book should be the date of the book, not the feed.
2018-12-11 17:01:33 +01:00
Matthieu Gautier
c20ae18bff
An opds feed can also be the openSearch result.
...
We must be able to set the correct entry in the feed for a searchResult.
2018-10-24 11:51:38 +02:00
Matthieu Gautier
34021994cd
Fix for Android
...
- No std::to_string. We have to implement it with a ostringstream
- No pthread_cancel. So we use pthread_kill to send a signal to the thread.
2018-10-24 10:48:53 +02:00
Matthieu Gautier
c66c7e9c20
Store the size of the book in OPDSFeed.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
996829e4d7
Allow a OPDSDumper to dump only a subset of the library.
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
efae3e0d2f
Do not make the `Manager` responsible to create the `Library`.
...
The `Manager` manage a library already existing.
This avoid the Library clone stuff.
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
79b780b75b
Move the function to convert from xml_node to string in otherTools.
...
This can be usefull elsewhere than in opds_dumper
2018-08-29 15:28:52 +02:00
Matthieu Gautier
2164faba44
Add a potential search description link in the opds stream.
2018-04-19 17:08:01 +02:00
Matthieu Gautier
ee51c470b4
Allow the manager to dump the opds feed of the whole library.
2018-04-19 17:08:01 +02:00