Veloman Yunkan
18871b4b15
Helper function Library::getBookPropValueSet()
...
Introduced a helper function `Library::getBookPropValueSet()` and
deduplicated Library::getBooks{Languages,Creators,Publishers}() methods.
2021-08-03 11:32:38 +02:00
Veloman Yunkan
b2027b397c
List of languages entry in /catalog/v2/root.xml
...
Added a new entry in /catalog/v2/root.xml that points to a
not-yet-existing list of languages navigation feed.
2021-08-03 11:32:38 +02:00
Matthieu Gautier
0b6b6716de
Rename split argument from `trimEmpty` to `dropEmpty`.
2021-07-07 14:43:13 +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
Maneesh P M
a94a03cd22
Remove unwanted reader functions
...
Removing the functions in InternalServer that are no longer needed.
2021-07-03 14:07:14 +05:30
Maneesh P M
bc821638da
Drop wrapper structures from handle_search
...
Since we now have SearcherRenderer that can work with native libzim
structure, we will drop the wrapper and use them instead.
2021-07-03 14:07:12 +05:30
Maneesh P M
bcece66960
Add SearchRenderer handles for libzim structures
...
Introduces a new member mp_search that houses the zim::Search object,
adds a new constructor for this purpose. This commit also add an
overload for getHtml that takes start and end integers as arguments
since they are not part of the search object we include.
2021-07-03 14:05:50 +05:30
Maneesh P M
c046f64d83
Drop Reader and Entry wrappers from handle_content
2021-07-03 14:05:50 +05:30
Maneesh P M
75b4d311d7
Drop Reader from InternalServer::handle_random
2021-07-03 14:04:04 +05:30
Maneesh P M
a236751c74
Drop usage of Reader from InternalServer::handle_suggest
2021-07-03 14:04:04 +05:30
Maneesh P M
7d68926539
Drop usage of Reader from InternalServer::handle_meta
...
This is essentially a code move of meta handlers from using Reader
functions to directly using Archive.
2021-07-03 14:04:02 +05:30
Maneesh P M
940368b8ac
Add m_archives and getArchiveById to Library
...
These members will mirror the functionality offered by equivalent usage
of Reader class.
2021-07-03 14:02:31 +05:30
Veloman Yunkan
b5c1b26761
OpdsCatalog::getSearchUrl()
2021-06-30 18:27:00 +02:00
Maneesh P M
f3c96b23fd
Use getIllustrationItem instead of getFaviconEntry method
...
With openzim/libzim#540 we now have a new function to get
illustration(previously favicon in 48x48 size and unity scale) in
multiple sizes. We need to replace getFaviconEntry with this new
getIllustrationItem method.
2021-06-19 10:23:24 +05:30
Vertigo
8d39b2c4c1
Added content ZIM home button on 404
2021-06-17 12:51:27 +05:30
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
312f2cb560
Moved handle_catalog_v2*() methods into a new file
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
f1797993af
Reused InternalServer::search_catalog()
2021-06-08 20:37:00 +04:00
Veloman Yunkan
f886c8c07b
Root url is normalized once in the constructor
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
dfad1c3815
/catalog/v2/searchdescription.xml
2021-06-08 20:37:00 +04:00
Veloman Yunkan
07252a127a
/catalog/v2/entries is also a search endpoint
2021-06-08 20:37:00 +04:00
Veloman Yunkan
b60e3ffb26
RequestContext::get_optional_param()
2021-06-08 20:37:00 +04:00
Veloman Yunkan
70d42aec98
A small simplification
2021-06-08 20:37:00 +04:00
Veloman Yunkan
4aa3c792aa
Extracted get_search_filter()
2021-06-08 20:37:00 +04:00
Veloman Yunkan
208dece7e3
Reordered several statements
...
Reordered several statements so that the next couple of commits are a
little simpler.
2021-06-08 20:37:00 +04:00
Veloman Yunkan
19b59fd72f
Serving /catalog/v2/entries
...
/catalog/v2/entries is intended to play the combined role of
/catalog/root.xml and /catalog/search of the old OPDS API. Currently,
the latter role is not yet implemented.
Implementation note: instead of tweaking and reusing
`OPDSDumper::dumpOPDSFeed()`, the generation of the OPDS feed is done via `mustache`
and a new template `static/catalog_v2_entries.xml`.
2021-06-08 20:37:00 +04:00
Veloman Yunkan
92c2de8d46
Enter InternalServer::m_library_id
...
The new field is intended to serve as a seed for generating semi-stable
OPDS feed ids that only need to change when the library is updated.
2021-06-08 20:37:00 +04:00
Veloman Yunkan
2e53b51696
Serving /catalog/v2/categories
2021-06-08 20:37:00 +04:00
Veloman Yunkan
b259afa408
Library::getBooksCategories()
...
Note: no unit test added
2021-06-08 20:37:00 +04:00
Veloman Yunkan
3c3cf08a1a
Serving /catalog/v2/root.xml
...
Note: This commit somewhat relaxes validation of non variable
`<updated>` elements in the OPDS feed - the contents of any `<updated>`
element is replaced with the YYYY-MM-DDThh:mm:ssZ placeholder.
2021-06-08 16:03:43 +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
5b272ac49c
Fixed handling of /catalogBLABLA/root.xml & alike
...
Also removed an unneeded namespace qualifier.
2021-06-08 16:03:43 +04:00
Manan Jethwani
bb92f26b60
added filter functionality
2021-06-07 15:37:20 +02:00
Manan Jethwani
063bb8cd65
added dynamic and subset loading of zim-files in kiwix-serve
2021-06-01 19:33:42 +05:30
Maneesh P M
e2f6d91d51
Remove get_readerIndex in favor of get_zimId
...
The function get_readerIndex was used to get the zimId using an ordered
vector of readers. Now we can use get_zimId directly.
2021-05-26 14:45:25 +02:00
Maneesh P M
c35f6f9142
Add `get_zimId` method to Result
...
get_zimId method allows the user to get the uuid of the archive from
which a result is retrieved directly from the search result itself.
2021-05-26 14:45:25 +02:00
Maneesh P M
5567d8ca49
Replace std::vector<std::string> with SuggestionItem
...
Each sugestions used to be stored as vector of strings to hold various values
such as title, path etc inside them. With this commit, we use the new
dedicated class `SuggestionItem` to do the same.
2021-05-26 10:53:39 +02:00
Maneesh P M
56434de79e
Set label to title snippet if present
...
With openzim/libzim#545 we now support snippet generation of titles
which can be used as the display label on the ui for highlighted titles
via the "label" field.
The old version used plain title which is still available in the value
field.
2021-05-26 10:52:58 +02:00
Maneesh P M
e5fac30cee
Update libkiwix with search iterator rename in libzim
...
Search iterator API in libzim has been shifted to use camel case naming.
This has to be accomodated in libkiwix as well.
2021-05-26 08:39:13 +02:00
Matthieu Gautier
2736a46cfe
Revert "Kiwix Serve welcome page dynamic and subset loading (OPDS based)"
2021-05-25 17:30:05 +02:00
Manan Jethwani
012973d14a
added dynamic and subset loading of zim-files in kiwix-serve
2021-05-25 02:41:12 +05:30
Emmanuel Engelhart
d4e35c7067
Rename kiwix-lib in libkiwix
2021-05-23 21:46:52 +02:00
Veloman Yunkan
cd02b4de3b
Dummy application of new libzim search API
...
Didn't take any advantage of the new libzim search API. Just fixed the
libkiwix build in the most straightforward way.
2021-05-15 23:34:51 +04:00