Matthieu Gautier
e013d38cc6
Add startWith function in stringTools.h
2019-08-11 10:19:48 +02:00
Matthieu Gautier
6234457920
Fix include in stringTools.h
2019-08-11 10:19:48 +02:00
Matthieu Gautier
72223d69fe
Fix include in pathTools.h
2019-08-10 11:02:23 +02:00
Matthieu Gautier
ddeb862395
Add getMimeTypeForFile in pathTool.
2019-08-10 10:59:13 +02:00
Matthieu Gautier
61c28f0e3d
Make the regexTool thread safe.
2019-08-10 10:59:13 +02:00
Matthieu Gautier
654a8e304c
Set the verbosity of the underlying zim::Search.
2019-07-30 17:03:44 +02:00
Sean Mac Gillicuddy
5adf7891cc
#239 ReLinker should be used to load library
2019-07-29 18:31:57 +02:00
luddens
c17abdae5e
port can be set with the constructor
...
add a method to return the port
2019-06-27 16:50:22 +02:00
Matthieu Gautier
31c9375a3a
Better API to filter books in a library.
...
Instead of having a single method `listBooksIds` that tries to be
exhaustive about all the filter and sort option, split the method in
two separated methods `filter` and `sort`.
The `filter` method takes a `Filter` object that represent on what we are
filtering. This object has to be construct before calling `filter`.
```cpp
Filter filter;
filter.query("Astring");
filter.acceptTags({"nopic"});
// return all book in eng and with "Astring" in the tile or description".
library.filter(filter);
//equivalent to
library.listBooksIds(ALL, UNSORTED, "Astring", "", "", "", {"nopic"});
// or better
library.filter(Filter().query("Astring").acceptTags({"nopic"}));
```
The method `listBooksIds` has been marked as deprecated.
Add a small test on the library.
2019-06-26 16:41:01 +02:00
Matthieu Gautier
3d689e790b
Force the exit of the forked process.
...
The `exit` function will call the functions registered.
Qt may (and does) register function and may (and does) hangup waiting
for some mutex to be free.
Here we are in a forked process and we want to process to exit without
doing any cleanup (because we are a clone of a process that will continue
and we don't want to mess it).
2019-06-25 16:52:46 +02:00
luddens
87f5b56b72
add isRunning method
2019-06-24 15:05:20 +02:00
luddens
df76db4f47
Fix crash searchbar's suggestions
...
The suggestion's list was filled without checking if the current suggestion
was wrong which caused crash in this case.
2019-06-24 11:48:14 +02:00
Matthieu Gautier
6fe6f88b10
Fix waitpid option.
...
`WEXITED` is an option for the `waitid` function not `waitpid`.
We don't need to pass a option to `waitpid`.
2019-06-24 11:34:03 +02:00
Matthieu Gautier
4e746916a7
Remove unnecessary include.
...
And unistd.h is not available on windows.
2019-06-12 14:27:15 +02:00
luddens
5dc96d7145
kiwix-serve integration
2019-06-11 10:35:16 +02:00
Matthieu Gautier
48347825a9
suggestions method return a unique_ptr instead of a raw pointer.
2019-05-28 15:08:16 +02:00
luddens
519dd110f5
add tags in opds stream
2019-05-14 10:51:22 +02:00
luddens
491b6d655b
add remove fct with aria2
2019-05-13 10:30:19 +02:00
luddens
ec8f1ffe9c
Add pause and unpause functions for aria2
...
This functions enable to stop and resume download with aria2.
The Downloader's constructor now checks the paused downloads with the
function "tellWaiting()" to get them at the start of kiwix-desktop.
2019-05-13 10:30:19 +02:00
luddens
12ffad55f7
update download's status when we get it
2019-05-13 10:30:19 +02:00
Matthieu Gautier
0b2c9fa7ce
Revert Do not use this_thread::sleep.
...
We already have a custom sleep method.
2019-05-03 15:38:47 +02:00
Matthieu Gautier
fe682f855a
Do not use this_thread::sleep.
...
Mingw doesn't implement it. So, we should not use it.
I suppose that it was working before because mingw package for debian trusty
simply no provides a "thread" header.
We may face to include the native "thread" header.
2019-04-17 15:44:14 +00:00
cyrillemoureaux
e1980d190f
Detect and reject infinite redirect loops.
...
This will prevent kiwix/kiwix-tools#207 .
2019-04-15 16:55:48 +02:00
Vitaly Zaitsev
28f144796d
Removed Rpath from compiled binaries.
...
Rpath is not needed to run installed binaries. Most of GNU/Linux
distributions strictly forbid it.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2019-04-15 16:09:53 +02:00
Matthieu Gautier
e7e88617d5
Remove unused include unistd.h
...
We don't use it anymore and it is not present on Windows.
2019-04-15 10:50:26 +02:00
Matthieu Gautier
f8522fb26e
Remove getNetworkInterfaces and getBestPublicIp function.
...
They are not used at all and the windows version need some extra libs
that complexify the code.
Remove them for now. If it happens that they are needed, we will readd
them.
2019-04-04 17:00:45 +02:00
Matthieu Gautier
938e2a81c1
Rewrite makeTmpDirectory to not use Uuid methods on windows.
...
`UuidCreate`, `UuidToString` and `RpcStringFree` need special library
on windows. Lets not use them.
2019-04-04 16:11:36 +02:00
Matthieu Gautier
d40982f760
Remove error message when trying to opening a wrong zim file.
...
The library should not print a message.
Fix kiwix/kiwix-tools#235
2019-04-02 15:28:46 +02:00
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
93af3aa2d1
Fix the language mapping.
...
The previous mapping was taken from an unknown (:/) source.
The new mapping is generated with a script taking
https://www.loc.gov/standards/iso639-2/php/code_list.php as source.
The source list is sanitized to keep only language for which we
(http://library.kiwix.org/ ) have content.
2019-03-05 17:53:37 +01:00
Matthieu Gautier
af9734c87f
Correctly initialize variable.
2019-02-19 14:05:37 +01:00
Matthieu Gautier
35d812a5f7
Ensure the book's `path` is absolute.
...
We must use absolute path whenever possible.
Relative path has sense only related to the "interaction" with the user
(current directory, library location, ...).
2019-02-07 15:22:33 +01:00
Matthieu Gautier
432f9c30a3
Remove unused variable url.
2019-02-07 15:20:18 +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
b996a2877c
Correctly initialize retVal.
2019-01-23 11:51:30 +01:00
Matthieu Gautier
be498c3b16
Make the string Tools functions available in android.
2019-01-09 18:29:20 +01:00
Matthieu Gautier
92c9a47a0d
Move the templating system to mustache instead of ctpp2.
...
Mustache templating system is a bit simpler than ctpp2 and ctpp2 is no
more maintained (see #189 ).
We are moving to the kainjow's Mustache project
(https://github.com/kainjow/Mustache ).
It simplify a lot our system has it is header only and we don't have to
precompile the template.
Fix #21
2019-01-09 18:28:48 +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
29046bfc05
Create the datadirectory to not fail to write the aria2 session file.
...
Fix kiwix/kiwix-desktop#69
2018-12-14 15:24:13 +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
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
716c87dd20
Remove duplicate language attribute in the libxml dumper.
...
Silly copy/paste.
2018-12-11 17:00:56 +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
94a053e821
Wait a bit more between attempts to connect to aria2c rpc.
2018-11-12 16:14:21 +01:00
Matthieu Gautier
4b9692bbd5
Correctly run aria2c when packaged with kiwix-desktop in appimage.
...
By default, we are searching in the PATH env var.
However, with an appImage, the executable directory is not in the PATH,
so we have to use an absolute path if we can.
If we cannot find the aria2c executable in the executable directory let's
try to use the system one.
2018-11-12 14:35:17 +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
cf1cfe774e
Correctly check for ArticleCount and MediaCount before writing them.
2018-11-12 10:58:10 +01:00
Matthieu Gautier
8c4b9fbe95
Add missing `en`->`eng` mapping to `codeisomapping`.
...
The most common used language was missing :/
Fix kiwix/kiwix-desktop#51
2018-11-12 10:36:45 +01:00
Matthieu Gautier
ab63cb2fb8
Sort `codeisomapping` alphabetically.
...
This is only code formating, no real change.
2018-11-12 10:34:19 +01:00
Matthieu Gautier
3958b2a06f
Make the internal map codeisomapping static.
...
Symbole should not be visible outside of the compilation unit.
2018-11-12 10:33:35 +01:00
Matthieu Gautier
d4ecda40ff
Use the correct separator when computing relativePath.
2018-11-03 12:18:54 +01:00
Matthieu Gautier
9ab44e6a5f
Get information about the total number of book of a search.
...
When we do a search and paging the result, we need to display to the
user the total number of book, not only the `itemsPerPage`.
So, we need to parse correctly the xml to keep information of the total
number of book.
2018-11-02 17:04:55 +01:00
Matthieu Gautier
5f4c04e79e
Fix use of getAsI when parsing download rpc.
...
The value is store as a string in in the xml, so we cannot use getAsI.
We have to get the string and parse it to an int.
We cannot use strtoull because android stdc++ lib doesn't have it.
We have to implement our how parseFromString function using a
istringstream.
2018-11-02 17:03:03 +01:00
Matthieu Gautier
bb07ff5610
Do not add NULL at end of commandLine on Windows.
2018-10-31 13:56:42 +01:00
Matthieu Gautier
1787e30440
Better launch of the aria2 process.
...
By setting the ApplicationName to NULL, CreateProcessW will
search for the application in the path.
2018-10-31 13:56:42 +01:00
Matthieu Gautier
ccb3d8639d
Use correct name for aria2c on windows.
2018-10-30 18:43:30 +01:00
Matthieu Gautier
29e554b47b
Include pthread
2018-10-29 14:30:35 +01:00
Matthieu Gautier
68dc4d40b5
Include windows.h before synchapi.h
2018-10-29 12:20:00 +01:00
Matthieu Gautier
2682fa8f9c
Remove unecessary variable or output.
2018-10-26 14:19:10 +02: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
a1876e3b27
Add a method converta2toa3 to convert language code alpha2 to alpha3.
...
Qt give use alpha2 language code but we use alpha3.
2018-10-26 14:18:06 +02:00
Matthieu Gautier
ad654ead08
Do not force the download port to be 80.
...
We may want to use url with port != 80.
2018-10-24 11:56:38 +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
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
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
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
910ce5f10d
Fix for Windows
...
- "winsock2.h" needs to be included before "windows.h". But if a
compilation unit include "windows.h" and after "networkTools.h", we
fails and it is complicated to handle. The include must not be in the
header but in the cpp
- windows define some ERROR macro. It is a pitty but we cannot use `ERROR`
in our enum.
- If build statically using mingw we need to define `CURL_STATICLIB`
2018-10-24 10:47:12 +02:00
Matthieu Gautier
c66c7e9c20
Store the size of the book in OPDSFeed.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
ad69fdd8c0
Move the download method from the downloader to networkTools.
...
The download method is a simple method to download content.
It use curl to download the content instead of aria.
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
Matthieu Gautier
43ff8565d1
Add a Download class to encapsulate a aria2 download.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
f718c4c472
Add a LibraryManipulator.
...
Library client (kiwix-desktop) need to know when a book is added to
library by the manager. By using a LibraryManipulator, we can do
dependency injection.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
8176a6eded
Be more resilient to potential aria2 error.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
bb1f777078
Store the aria2 session and recover from it.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
829c34dd69
Store in the book instance if the given path is valid.
...
The path may exist and not be valid if the zim file is not truncated
(ie, interrupted download)
2018-10-24 10:47:12 +02:00
Matthieu Gautier
9c0f9696ed
Better beautifyInteger and beautifyFileSize.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
be6dc01b4f
Add few helper methods to xmlrpc objects.
2018-10-24 10:47:12 +02:00
Matthieu Gautier
18fc5cb4df
Correctly set the aria2 secret rpc.
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
5128861136
Remove default value for book pointer of `readBookFromPath`.
...
This is a nonsense to accept NULL pointer here.
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
99e313f915
Clean includes of manager.h
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
c7f9218350
base64_encode takes a string instead of a char*
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
04b05dd68b
Remove `removeBookById` from the Manager.
...
Use the same method of the `Library`.
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
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
541fb0cfd1
Remove the "current" 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
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
db9000f706
Make the downloader use the aria2c wrapper instead of the aria2 library.
2018-09-06 18:30:34 +02:00
Matthieu Gautier
0a93cb0872
Add aria2 downloader using subprocess aria2c.
2018-09-06 18:29:49 +02:00
Matthieu Gautier
f4846c1ac8
Add a tool's function to get the data directory.
...
The data directory is where kiwix application should store data.
2018-08-29 15:28:52 +02:00
Matthieu Gautier
9b516ac35d
Add a small wrapper around pugixml do handle xmprpc.
2018-08-29 15:28:52 +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
f3dd83907d
Add backend to launch subprocess.
...
The windows backend is not tested.
2018-08-29 15:28:52 +02:00
Matthieu Gautier
7c634738dd
Update jni build script to java jdk 8+.
...
With jdk8, `javac` has an option `-h` to generate the header files of
native classes.
So there is no need to run `javah` several times.
As there is now only one command to run (`javac`), there is no need for
the wrapper script `gen_kiwix.sh`.
Fix #167
2018-08-20 12:17:29 +02:00
Matthieu Gautier
fd9b6569af
Include unistd.h only on unix platform.
2018-08-03 19:22:39 +02:00
Matthieu Gautier
3cf58b5f5b
Make libaria2 an optional dependency.
...
We don't compile libaria2 on Windows.
2018-08-03 19:22:39 +02:00
Matthieu Gautier
dbcc9140b9
[Android] Better error message when failing to read in zim file.
...
Let's print the exception's message to allow us to better understand
what went wrong.
2018-07-31 11:49:44 +02:00
mhutti1
d61580f599
Set JNI values to NULL on error
2018-07-27 10:11:24 +02:00
mhutti1
3227b29c90
Follow redirects in favicons
2018-07-27 10:11:24 +02:00
mhutti1
709baae934
Convert all JNI cerrs to Android log messages
2018-06-29 16:35:11 +02:00
mhutti1
ea8cd9f1a9
Correctly pass 0 through JNI if ZIM file is corrupted
2018-06-29 15:30:13 +02:00
Matthieu Gautier
5025ee4963
Fix icudt version.
...
We have move to icu version 58 a while ago.
2018-06-11 14:38:32 +02:00
Matthieu Gautier
9aaf82a36d
Explicitly use icu namespace.
...
Fix #145
2018-06-11 14:36:34 +02:00
mhutti1
fa99cce68d
Decode reserved characters in URLs
2018-05-20 18:41:39 +01:00
Matthieu Gautier
622d2fc23d
Remove unused static resources.
...
Stop words are not use anymore since a long time now that indexing has
been moved to libzim. No need to embedded them in kiwix-lib.
2018-05-15 11:30:30 +02:00
Matthieu Gautier
c0b1c6013e
Fix parsing of url
...
Fix kiwix/kiwix-tools#193
2018-05-14 17:41:05 +02:00
Matthieu Gautier
1dd828e79c
Fix pathExists and check for correct path for xapian index.
...
The correct path for xapian database should be "X/fulltext/xapian",
not "Z//fulltextIndex/xapian".
So lets check for the right path and fallback to the wrong one (but
used in old zims).
The double '/' in the path is a bug of zimwriterfs and is specific
to the xapian database.
We must handle this correctly in `hasFulltextIndex` and not (buggly) in
`pathExists`.
(Hopefully, it seems that pathExists were used only by hasFulltextIndex)
2018-04-19 18:04:07 +02:00
Matthieu Gautier
135028c16a
Introduce better API to manipulate entries in a zim file.
...
The previous API suffer different problems:
- It was difficult to handle articles redirecting to other article.
- It was not possible to get few information (title) without getting
the whole content.
The new API introduce the new class `Entry` that act as a proxy to an
article in the zim file.
Methods of `Reader` now return an `Entry` and the user has to call
`Entry`'s methods to get useful information.
No redirection is made explicitly.
If an entry is not found, an exception is raised instead of returning
an invalid `Entry`.
The common pattern to get the content of an entry become :
```
std::string content;
try {
auto entry = reader.getEntryFromPath(path);
entry = entry.getFinalEntry();
content = entry.getContent();
} catch (NoEntry& e) {
...
}
```
Older methods are keep (with the same behavior) but are marked as
deprecated.
2018-04-19 18:04:07 +02:00
Matthieu Gautier
47ce044e3e
Add method to `Manager` to populate the library from a opds stream.
...
The library's books are created in the metadata in the opds.
As the opds stream is by definition a distant "library", there is no
zim to read to complete missing information.
This can lead to incomplete `library.xml`.
2018-04-19 17:53:08 +02:00
Matthieu Gautier
1f091da3f4
Add a downloader tools to download files.
...
The downloader is using libaria2.
For now, only one download can be run a the time.
A download will start only if (and as soon as) no download is running.
2018-04-19 17:53:08 +02:00
Matthieu Gautier
d4fefd1a57
Add a function to create a temporary directory.
2018-04-19 17:53:05 +02:00
Matthieu Gautier
9f86b59d1d
Add a function to get the content of a file.
2018-04-19 17:53:02 +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
ad92af928b
Be able to filter a library.
...
This generate a new library only with the corresponding books.
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
Matthieu Gautier
ec097ab267
Try to compile kiwix-lib without warning.
2018-04-18 16:57:27 +02:00
Matthieu Gautier
d686de7ec3
Set the RPATH of kiwix-lib.
...
As we cannot change (DY)LD_LIBRARY_PATH on macos, we have to use rpath.
2018-04-17 16:27:31 +02:00
Matthieu Gautier
313f6731b0
Correctly pre-increment loopCounter.
...
If we check the later the `loopCounter` with 42, we must pre-increment the
content. Else, in case of infinite loop, the `loopCounter` will be 43.
Related to kiwix/kiwix-tools#168
2018-03-25 17:21:40 +02:00
Matthieu Gautier
ee6831d665
Check `internal->_search` before using it.
...
If a search has been set and a user try to get the nextResult or
restart the search, `internal->_search` will be NULL.
2018-03-12 17:45:18 +01:00
Matthieu Gautier
f8a2e4c503
Only add a reader to the searcher if the reader as fulltext index.
...
`libzim` will not search in zim file without embedded fulltext index.
If we don't want to mess up with result index, we must not store "wrong"
reader.
Fix #111
2018-03-12 17:34:45 +01:00
Matthieu Gautier
57a197d38d
Make getCurrentBookId const.
2018-03-12 17:34:45 +01:00
Matthieu Gautier
b6ba10af2a
Remove unnecessary currentArticleOffset.
...
This protected member is never used.
2018-03-12 17:34:45 +01:00
Matthieu Gautier
f93f50087b
Remove unnecessary setBookIndex.
...
We can use default argument instead of creating a new method.
2018-03-12 17:34:45 +01:00
Matthieu Gautier
6adf95c329
Make JNIKiwixReader throw an exception if something goes wrong at creation.
...
If the `nativeHandle` is null, the JNIKiwixReader is invalid and we must
not use it.
Throwing an exception for the caller code to handle this properly.
And previously, user code has no way to detect something went wrong :/
2018-02-01 17:18:54 +01:00
mhutti1
97bcf57d53
Allow JNI to access search snippets
2017-12-15 16:02:49 +00:00
mhutti1
f303c7502d
Fix JNI to work with kiwix-android
2017-12-14 17:32:03 +00:00
Matthieu Gautier
16bd34e6a6
Add a method in the JNI API to get direct access information.
...
For binary content (not compressed), it could be interesting to
directly read the content in the zim file instead of using `kiwix-lib`.
This method returns the needed information to do so (if possible).
2017-12-13 17:22:26 +01:00
Matthieu Gautier
5a953f191b
Remove a small warning.
2017-12-13 17:11:10 +01:00
Matthieu Gautier
41c92cfc3c
Better calculate the start of the last search page.
...
The increment between pages should always be a multiple of
`resultCountPerPage`.
2017-11-27 12:39:04 +00:00
Matthieu Gautier
64dc5131c0
Be able to specify the global contentHumanReadableId without a index.
...
Even if we use the add_reader method to search into embedded full text
index, we need to specify the global `contentHumanReadableId` as it will
be used to generate "page links".
2017-11-27 12:37:13 +00:00
kelson42
28b0588df4
Better URL encoding
2017-11-23 19:26:41 +01:00
Matthieu Gautier
4e5d9f0360
Add a API to get only a part of a article content.
...
Add the jni method `getContentPart` to get only a part of the artcicle
content.
The method can be used to get a part of the content or to know the size
of the full content.
2017-11-22 19:06:54 +00:00
mhutti1
520c1edf31
Fix JNI android integration
2017-11-22 14:54:03 +00:00
mhutti1
d2f7503cfa
Fix JNI for android integration
2017-11-22 14:54:03 +00:00
Matthieu Gautier
7a59779b77
Change JNI API of kiwix-lib (mainly to support multi-zims search)
...
This is a major API break. User code will have to be rewritten.
Before this commit, API was a unique object wrapping the library and
handle a global state with one `Reader` and one `Writer` at the time.
Now, the API is axed around three main objects :
- The `JNIKiwixReader`, a wrapper around a `kiwix::Reader` (who allow to
read one zim)
- The `JNIKiwixSearcher`, a wrapper around a `kiwix::Searcher` (who allow
to search through one or more reader(s))
- The `JNIKiwixSearcher.Result` a result of a search. Allowing to get all
information about a result (title, url, content, snippet, ...)
2017-11-22 14:54:03 +00:00
Matthieu Gautier
766b64dddc
Update gen_kiwix.sh to not be dependent of the number of arguments.
2017-11-22 14:46:01 +00:00
Matthieu Gautier
b9ac7084ac
Add small API to do geo query.
...
This is a small quick and dirty API to do geo query.
It is not possible with this API to do a query search and a geo search.
It's either one or the other.
We should think about a better global API to do searching and provide
both of them in the same time (libzim does it).
2017-11-14 17:32:06 +01:00
Matthieu Gautier
0e8c8f68c5
Extend search limits to 140.
...
70 is a too small limit for the number of results.
Users need at least 100.
As the html rendering will fails with more than 144 results,
explicitly limits the number of search to 140.
Fixes kiwix/kiwix-tools#92
2017-11-06 12:23:13 +01:00
Matthieu Gautier
382655d83c
Explicitly set ctpp2 iIMaxSteps to extends search beyond 68 results.
...
Ctpp2 templates have a limit step number. If the template to render is
too big, the rendering fails, throwing an exception.
From our tests, it seems that, with the template we have, the default
step limit allow us to render 68 results only.
By doubling the limit, we can render up to 144 results.
2017-11-06 12:10:48 +01:00
Matthieu Gautier
5c2280e7c7
Claims that multi part zim has no embedded full text index.
...
We cannot search into an embedded fulltext index if the zim is multipart.
Instead of crashing, let's pretend we have no fulltext index.
2017-08-15 14:19:53 -04:00
Chris Li
cf93c8719f
Allow kiwix-lib to compile without ctpp2c.
...
ctpp2c is used to pre-compile the template resource.
However, on OSX, ctpp2c seems to be difficult to compile, as we don't need
ctpp2 at all on OSX/iOS, lets just stop to force the use of ctpp2c.
2017-08-14 10:42:16 -04:00
Matthieu Gautier
1ff1bf6168
Always set the humanReadableName with the readable in kiwix-search.
...
We always need a humanReadableName associated with a content to search in.
Do not separate the two values (human readable name and zim) in two
different functions.
This way, we avoid miss-use of the Searcher who could lead to segfault.
2017-08-10 09:20:11 -04:00
Matthieu Gautier
d3acae1fd2
getContent* methods also allow to get the title.
...
Add a `title` write argument to `getContent*` methods.
This argument is filled with the title of the content get.
Also update the JNI accordingly.
Related to kiwix/kiwix-android#214
2017-07-26 11:03:32 +02:00
kelson42
1d1dfbf4da
Fix JNI licensing #71
2017-07-22 09:29:28 +02:00
Matthieu Gautier
bc5f4f5de4
Use right contentId to generate the article url in search template.
...
As we do multisearch, we must use the associated contentID of the result
to generate the url.
2017-07-18 10:04:40 +02:00
Matthieu Gautier
9cc329dbd2
Support multi-zims search in kiwix-lib.
...
All the code was already in zimlib.
It is mainly a update of the code using zimlib.
No JNI change for now to not break the API.
2017-07-18 10:04:40 +02:00
Matthieu Gautier
3991e648ed
Be able to get the reader index from a search result.
2017-07-17 18:16:11 +02:00
Matthieu Gautier
8d39b0b343
Search result objects now have a get_content method.
...
This was not necessary when searching in only one zim file as `url` was
enough to get the article (and so the content).
If we want to search in several zim in the same time, we need a way to get
the content directly.
2017-07-17 18:16:11 +02:00
Matthieu Gautier
4a51dd9e00
Fix memory link.
...
If a `searcher` is already created we must delete it.
If we set the pointer to NULL before, we will never delete it.
2017-07-17 18:16:11 +02:00
Matthieu Gautier
d0371cd133
Suggestions now use xapian database when available.
...
If a embedded fulltext database is present, suggestion will search in it :
- insensitive case search.
- search for terms in the middle of the title.
- xapian will try to complete the last word of the query (as if a '*'
were added at the end)
2017-07-17 17:17:13 +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
96f199a327
Dump the version to 0.2.0
...
Time to make a release.
2017-06-27 14:26:13 +02:00
Steve Wills
4f57e765e5
Fix type error in build
...
Compilation fails on clang 3.4.1 (and presumably later, tho I haven't tested) with
```
src/reader.cpp:131:59: error: no viable conversion from 'iterator' (aka '__map_iterator<typename __base::iterator>') to 'std::map<std::string, unsigned int>::const_iterator' (aka '__map_const_iterator<typename __base::const_iterator>')
std::map<std::string, unsigned int>::const_iterator it = counterMap.find("text/html");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/map:713:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'iterator' (aka '__map_iterator<typename __base::iterator>') to 'const std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<std::__1::basic_string<char>, unsigned int>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char>, unsigned int>, void *> *, long> > &' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY __map_const_iterator
^
```
because we are not using the right type for the map iterator. As we are using
C++11, let's use `auto` and make compiler set the right type for us.
2017-06-16 08:47:59 -04:00
Matthieu Gautier
eb2c750431
Use the android abi instead of cpu_family as install dir name.
...
Android will look in specific repository to find native libs.
We need to use the `android_abi` name defined in the cross_compilation
file instead of `cpu_family`.
2017-06-14 10:20:18 +02:00
Matthieu Gautier
c44b2acb56
Re-add xapian searcher in kiwix-lib.
...
libzim only know how to read embedded full text index in a zim file.
This is nice as we want to embedded the full text index in zim file and
not have separated full text index.
However, we still have some zim+separated index we have to read.
So we have to support the search in separated index for a while.
2017-05-24 16:08:00 +02:00
Matthieu Gautier
7005b65901
Check that 'M/Counter' exists before trying to read it.
...
Some old zim files may not have a 'Counter` metadata article.
We have to handle this correctly.
2017-05-23 15:26:01 +02:00
Matthieu Gautier
2e43b7e82d
Update kiwix-lib to new kiwix-android way of building.
...
`kiwix-android` is using `kiwix-lib` as an external java application now.
So we need `kiwix-lib` build system to also install application files
(manifest, resources, ..).
2017-04-24 16:37:31 +02:00
Matthieu Gautier
3be4d92c53
Correctly check if we are compiling for linux or not.
...
In C++11 `linux` is not a reserved word, so compilators do not define it.
A correct way to check if we are compiling for linux is to check for
`__linux__`.
2017-04-10 14:28:25 +02:00
Matthieu Gautier
44a77f5846
Update android jni wrapper to new API.
2017-04-10 14:28:25 +02:00
Matthieu Gautier
5ca419bee7
Use the new search API in zimlib.
...
We do not use xapian anymore. This is all handled by zimlib.
2017-04-10 14:28:25 +02:00
Matthieu Gautier
37f29da63e
Beautify a bit the code.
...
No real change. Just do less code or use higher level API.
2017-04-10 14:28:25 +02:00
Matthieu Gautier
94670847ef
Use const when possible in the reader.
...
Most read operation do not modify the content. So let's use const
as far as possible.
2017-04-10 14:28:25 +02:00
Matthieu Gautier
ef661a2e25
Move unicode headers in cpp.
...
Unicode headers ends by defining the DONE symbol in a enum.
It can clash with other includes.
(For instance the httpd.h from apache who use `#define DONE -2`).
Both project should not declare such common symbols publicly but we have
to do with them anyway.
2017-04-06 16:17:00 +02:00
Matthieu Gautier
e28dbe7c7e
Remove the indexer functionnality from kiwix-lib.
...
This is not used anymore.
2017-04-06 15:35:30 +02:00
Matthieu Gautier
ce6c782b66
Do not use remove readStopWords method.
...
Commit b8d950c
removes this symbol.
The indexer is not used anymore and will be soon removed.
So for now, just remove the call to readStopWords until we totally
remove the indexer code.
2017-04-06 13:20:59 +02:00
Matthieu Gautier
b8d950c1a0
Use the stop words stored in the database to configure the queryparser.
...
To properly search in the xapian database, we need to use the same
stop words that the ones used during the indexing.
2017-04-04 17:06:49 +02:00
Matthieu Gautier
998db0eb2b
Use the language stored in the database to configure the queryparser.
...
To properly search in the xapian database, we need a stemmer using the
same language that the one used during the indexing.
2017-04-04 17:06:49 +02:00
Matthieu Gautier
72e41082ca
The `Result` class is not in the `kiwix` namespace.
...
The commit 83d2725
adapt the jni wrapper to the new search API but try to
use the `Result` class from the `kiwix` namespace but `Result` is not in
the namespace.
A correct fix would be to move `Result` in `kiwix` but it also change the
API for other tools (kiwix-tools). As we will move the search
functionality in `zimlib` it is better to just do this silly fix and
update the API latter when moving the search functionality.
2017-03-29 17:12:23 +02:00
Matthieu Gautier
cecb65e314
Remove C++11 syntax introduced by commit 9be2abe
.
...
The `for( auto elem: elems)` syntax is a C++11 syntax.
We are not using C++11 (even if it would be good idea).
This works on recent compiler (on Fedora 25) but fails on older one
(on Travis).
2017-03-28 17:14:25 +02:00
Matthieu Gautier
074c1bcffa
Try to generate the snippet if it is not present in the database.
...
We generate the snippet from the content of the article in the zim so
we need to have a access to the reader.
2017-03-21 16:28:03 +01:00
Matthieu Gautier
9be2abedf3
Check if a valuemaps metadata is available in the database and use it.
...
This way, we do not make assumption of where the values are stored.
2017-03-21 16:26:03 +01:00
Matthieu Gautier
83d27255cf
Do not create all the results at once. Be a bit lazy.
...
We don't need to generate a vector of result when we do a search.
We better to just keep the handle to the current MSetIterator and
generate the wanted values when needed.
2017-03-21 16:20:17 +01:00
Matthieu Gautier
72a6b578e6
Fix meson's project version.
2017-03-21 16:01:07 +01:00
Matthieu Gautier
43703a9d58
Add JNI wrapper for android.
...
This wrapper mainly come from the already existing android part.
2017-03-07 20:14:29 +01:00
Matthieu Gautier
aafe9a4435
[ANDROID] Deactivate some features if we are compiling for android.
...
Android libc doesn't support all thread feature (as pthread_cancel).
Do not compile those files if we are compiling for android.
2017-02-22 16:56:21 +01:00
Matthieu Gautier
84796abb4c
Make use of ctpp2 optional.
2017-02-22 12:05:44 +01:00
Matthieu Gautier
72f1be3dbd
We must include <time.h> with mingw.
...
This is a error anyway, linux or window. So just add the include.
2017-01-17 15:54:44 +01:00
Matthieu Gautier
753a39beb0
Fix header include for cross-compilation to Windows.
...
On unix, filenames are case sensitive and all include files are lowercase.
2017-01-17 10:20:59 +01:00
Matthieu Gautier
4afe3e8ddc
"myhtmlparse.h" is a private header. Remove it from indexer.h.
2017-01-03 11:51:31 +01:00
Matthieu Gautier
cba71b4e75
Add a new script to compile resources.
...
- No more dependency to reswrap binary (everything is done in python)
- Resource strings can be directly accessed.
As side effect, it add a check at compilation if the resource is
declared and compiled in the binary.
- The resource content can be overwritten at runtime with a env variable.
There is also few clean in the static as some files shoul be in the tools
directory.
The compile_resource script is install to let other project use it.
2016-12-23 13:06:12 +01: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
Kelson
1c68cf87b9
Fix ft index open for chunked files #346
2016-10-17 13:16:43 +02:00
Kelson
d328c4ffb0
Remove exec permission on source files
2016-10-14 17:04:47 +02:00
Kelson
75da598ba8
Add kiwix::removeAccents for Android
2016-10-14 16:59:32 +02:00
Kelson
2889d7c651
Make fulltext searcher Android compatible
2016-10-14 13:12:26 +02:00
Kelson
01794e6e91
New Reader::getZimFilePath()
2016-10-14 13:11:14 +02:00
Matthieu Gautier
82cba79179
Do not make unnecessary copy when serving binary content.
...
Binary content do not need to be modified, so we don't need to copy it.
We can directly serve it from the internal zim (cluster) buffer.
The handle_content function now getArticleObjectByDecodedUrl instead of
getContentByDecodedUrl.
This is to get the mimetype of the article and copy the content only when
needed (getContentByDecodedUrl always copy the content).
Thus, handle_content is a bit more complex as it need to do some
manipulation previously made in getContentByDecodedUrl.
The main change is that if the content is binary, we serve the content
with a callback response who will get the content chunks directly from
the blob buffer.
2016-10-07 18:23:47 +02:00
Matthieu Gautier
657fc05225
Fix url of the fulltext index.
...
The fulltext index in the zim is at the url /Z/fulltextIndex/xapian.
We do not need to specifie the Z in the url as this is automatically add with the namespace.
2016-10-03 15:39:00 +02:00
Matthieu Gautier
e526026407
Properly fail when creating XapianSearcher on a zim without embedded index.
...
The XapianSearcher creation must fail with a exception if we cannot open
the xapian database.
So, if we try to open a zim and there is no embedded index, we must fail.
We raise the custom exception NoXapianIndexInZim in this case.
2016-10-03 13:32:59 +02:00
kelson42
e3c2a13fa6
Add Reader::hasFulltextIndex
2016-10-02 18:29:08 +02:00
kelson42
39ad3313df
Add Reader::urlExists
2016-10-02 17:16:39 +02:00
kelson42
c1b5eb42bf
Fix a problem with 'name' metatag
2016-09-11 10:26:12 +02:00
kelson42
934a15a0b4
Fix kiwix-mange problem with relative paths
2016-09-04 21:43:26 +02:00
Kelson
1500cb8329
Implement ZIM reader getTags() and getName()
2016-09-04 20:41:10 +02:00
Kelson
fc9f3a3a25
Implement ZIM reader getTags() and getName()
2016-09-04 19:59:22 +02:00
Matthieu Gautier
6074b5e557
Add support of embedded ft-index in zim for kiwix-serve and kiwix-search.
...
- kiwix-search will try the embedded ft-index if no indexPath is specified
in the library.xml or command argument.
- kiwix-search also uses xapianSearcher and xapianSearcher needs zimlib,
so add zimlib in compilation flag for searcher.
- kiwix-serve already depends on zimlib.
2016-08-11 17:50:25 +02:00
kelson42
d384131341
remove useless code
2016-07-04 21:31:11 +02:00
Chris Li
801e622644
add "eng" to stop word map + pragma mark in indexer.cpp + progress calculation
2016-07-04 21:10:03 +02:00
Chris Li
566a01ce7f
optional progress callback + progress calculation fix
2016-07-04 20:59:57 +02:00
Kelson
d5e5cd9340
Deal with new glass/single_file Xapian indexes
2016-06-20 23:35:13 +02:00
dattaz
8c443855c7
correction of double inclusion
2016-05-21 19:08:44 +02:00
Emmanuel Engelhart
009d08fe89
Simplify suggestion init
2015-08-22 15:42:21 +02:00
Emmanuel Engelhart
a1486e05d3
Fix regression by suggestion search
2015-08-16 19:22:10 +02:00
Emmanuel Engelhart
f3c4556431
Fix to get new getSuggestions() working on Android
2015-08-16 18:09:18 +02:00
Emmanuel Engelhart
e829d7428d
Better suggestion search
2015-08-16 17:18:29 +02:00
kelson42
7903458e38
Fix hardlinking in copyFile()
2015-04-09 14:26:11 +02:00
Kelson42
54d9445148
Update
2015-03-02 16:17:06 +01:00
Emmanuel Engelhart
dc60455cd3
in copyFile() try to make a link if possible, copy the content otherwise
2015-02-21 16:56:38 +01:00
Emmanuel Engelhart
b2c38ebfc2
update
2015-02-19 16:43:02 +01:00
Emmanuel Engelhart
999a5b07ae
New version
2015-02-19 16:20:49 +01:00
Kelson42
78db06e127
Merge branch 'master' of ssh://git.code.sf.net/p/kiwix/kiwix
...
Conflicts:
CHANGELOG
2015-01-08 12:55:53 +01:00
Kelson42
8287a64172
FIXED: kiwix-serve XSS attack vulnerability ( #763 )
2015-01-08 12:51:42 +01:00
Kelson42
45ad751d89
New function getMimeTypeByUrl()
2014-12-08 01:37:06 +01:00
Kelson42
d7fd4064ab
FIXED: Buggy pagination in fulltext result page
2014-11-24 20:52:46 +01:00
Kelson42
4290eaf751
+ Avoid to load the welcome page by loading random ones
2014-10-18 18:14:46 +02:00
Julian Harty
378c66e16c
Revert "Re move ANDROID pragma. This is not useful anymore (libicu) is now included"
...
This reverts commit 8a458417aa612409b8da9a44b9015786c2063244.
2014-10-08 10:44:55 +01:00
kelson42
f6f49a63ce
Re move ANDROID pragma. This is not useful anymore (libicu) is now included
2014-10-01 20:26:43 +02:00
Kelson42
49d13f09f1
+ search filter addtionaly on language ISO code
2014-09-23 13:20:46 +02:00
Kelson42
bc161034c1
+ Fix unstable fulltext library search
2014-09-20 16:05:19 +02:00
Kelson42
517a02b814
+ fix taskbar CSS
2014-09-18 14:54:49 +02:00
Kelson42
4beccfbc0b
+ improve taskbar CSS
2014-09-18 14:50:11 +02:00
Kelson42
ec6c0b2ea3
+ fix kiwix-serve taskbar css
2014-09-18 14:22:47 +02:00
Kelson42
f6dedb11b9
+ fix tasbar css
2014-09-18 14:17:56 +02:00
Kelson42
436d57976e
+ improve kiwix-serve taskbar css
2014-09-18 14:08:36 +02:00
Kelson42
d8a924121b
+ more robus mimetype retrieving
2014-09-14 18:40:39 +02:00
kelson42
c1a8b4a206
+ small optim
2014-08-31 19:27:23 -06:00
kelson42
45fccb2e38
+ bool Manager::setBookIndex(const string id, const string path)
2014-08-30 10:37:52 -06:00
kelson42
baf8e37b4f
Speedup mimetype detection in kiwix-serve
2014-08-29 19:10:01 -06:00
kelson42
f585bed1cb
FIXED: kiwix-serve crash if unattended search "start" & "end" values
2014-08-28 13:36:58 -06:00
kelson42
518ce6635d
+ fix a few problem with the autocompletebox on kiwix-serve
2014-08-27 21:08:14 -06:00
kelson42
1cc94e1b95
+ simplifaction of the code = cleaning
2014-08-27 17:13:29 -06:00
kelson42
a353513c9c
NEW: Improve file size display in kiwix-serve
2014-08-27 13:22:34 -06:00
Kelson42
86ef9800cc
+ new smaller version
2014-07-28 13:38:54 +02:00
kelson42
beae77db89
Avoid kiwix-serve taskbar jquery dependencies to conflict with potential other version (in the ZIM file)
2014-07-20 22:06:52 +02:00
kelson42
d6d7274b0f
+ Fix code in ZIM reader class breaking DOM integrity
2014-07-19 19:29:51 +02:00
kelson42
17724fe70b
+ fix Doctype HTML line (was breaking Opera output)
2014-07-09 21:11:34 +02:00
Cristian Patrasciuc
5a695963d5
Port networkTools.cpp to Mac OS X.
...
On Mac OS X the ioctl(SIOCGIFCONF) call will return all IPv4, IPv6
and MAC addresses, so we have to filter only the ones that have
sa_family equal to AF_INET.
I also added the common interface names for Mac OS X (en0 and en1),
to the getBestPublicIp() function. I refactored a bit the code so
that addition and reordering are easier.
Bugs: https://sourceforge.net/p/kiwix/bugs/658/
2014-06-17 17:46:54 +02:00
renaud gaudin
1b192c2557
Added 10.0.0.0 private network scheme
2014-05-31 13:53:46 +00:00
Shivam
a37fd98585
Updated resourceTools.h to reflect moved toolbar css file (not sure if necessary)
2014-05-25 18:10:44 -04:00
Shivam
b341b9654d
Added a random article button for server mode
2014-05-25 12:25:13 -04:00
kelson42
0411b0988c
+ update license header
2014-05-22 19:08:10 +02:00
kelson42
e885cc342a
+ Avoid buffer overflow on linux
2014-05-22 19:05:42 +02:00
Kelson42
f69edcf9c0
+ fix fileExists() for Windows
2014-05-19 23:55:56 +02:00
Kelson42
b3c352f71a
+ use _strdup on Windows
2014-05-16 15:06:06 +02:00
Kelson42
1faca99274
Merge branch 'master' of ssh://git.code.sf.net/p/kiwix/kiwix
2014-05-16 14:40:36 +02:00
Kelson42
2c530906c5
+ XR29 port for Windows
2014-05-16 14:39:50 +02:00
rgaudin
38108f064e
moved loadICUExternalTables code to stringTools so it can be used by kiwix-serve
2014-05-16 01:19:27 +00:00
Kelson42
c3ae9d06b1
+ Windows fix
2014-05-14 18:43:49 +02:00
Kelson42
1209e27e8c
+ Fix path computation functions for Windows
2014-05-14 18:33:11 +02:00
rgaudin
9b32647fa4
Added ICU external dat table support for components (req. check for binaries)
2014-05-08 20:22:23 +00:00
rgaudin
8c574270cf
merged with master on zimAccessor/VMStringLoader/configure.ac
2014-05-06 08:40:19 +00:00
kelson42
587b76bf6d
+ Fix deal with relative urls
2014-05-07 17:33:38 +02:00
kelson42
005b75f7ab
+ Introduction of base url in kiwix-serve (to handle relative urls in ZIM files)
2014-05-07 16:08:43 +02:00
rgaudin
f1dc03d5aa
removed duplicate type declaration on OSX (needed by c++11)
2014-05-06 08:09:25 +00:00
kelson42
4e05d0dea6
Change CTPP2 #include paths (add 'ctpp2/')
2014-05-05 14:14:11 +02:00
rgaudin
26b2e504f3
fixed includes for CTPP2
2014-05-04 20:11:48 +00:00
Kelson42
8573f9eda0
make kiwix::urlDecode() available for Android
2014-05-04 14:41:48 +02:00
kelson42
9a5e6d70d6
+ Change license header
2014-05-03 18:00:54 +02:00
kelson42
1c2a03e287
+ getContentByEncodedUrl() and getContentByDecodedUrl()
2014-04-29 17:42:46 +02:00
kelson42
8397c81e6f
* merge unescapeurl() with the kiwix:urlDecode()
...
* create getContentByDecodedUrl() and getContentByEncodedUrl()
2014-04-29 17:41:52 +02:00
kelson42
5e974f67c6
+ merge Reader::unescapeUrl() and Kiwix::urlDecode()
2014-04-29 17:40:12 +02:00
kelson42
3265de1579
+ Use now kiwix::sleep(0
2014-04-02 17:04:19 +02:00
kelson42
69684009e3
+ Add necessary header includes
2014-04-02 17:03:53 +02:00
kelson42
aeaede3834
+ add kiwix::sleep() method
2014-04-02 16:55:35 +02:00
kelson42
ae390de24b
+ Stub class to store custom generic varia functions
2014-04-02 16:43:56 +02:00
kelson42
71082cf581
+ Add indexer destructor (to avoid compilation warning with "non-virtual destructor")
2014-04-02 16:38:15 +02:00
kelson42
84b8a86c3e
Try to fix some problem with unicode path loading on windows
2014-01-06 03:27:03 +01:00
kelson42
fc6254090a
+ remove clucene source files
2013-12-16 15:22:21 +01:00
kelson42
840442fccd
+ remove debug messages
2013-12-16 13:33:29 +01:00
renaud gaudin
6ed0acfde4
Merge branch 'master' into extern_zimlib
2013-12-09 12:07:38 +00:00
renaud gaudin
fd9c9ac17e
catching up with master
2013-12-09 12:02:58 +00:00
rgaudin
fcf84811c6
Fixed extern compile (static) on linux and removed Clucene dependency
2013-12-09 10:51:06 +00:00
Kelson42
bf4381d4f4
Remove usage of UnicodeString.tempSubString() which is only available in recent versions of ICU
2013-11-24 13:22:05 +01:00
renaud gaudin
8bb7c040b1
Fixed CTPP2 loader to use resource instead of file
2013-11-14 18:50:26 +00:00
renaud gaudin
2a8d7fde56
Fixed CTPP2 not working
...
* Fixed templates
* Changed behavior of getHtml() to use higher level VM API
2013-11-13 19:58:56 +00:00
kelson42
ad20fde08f
+ android integrates now libicu
2013-11-12 02:03:34 +01:00
kelson42
39fa510af5
+ improve suggestions search, search also entitled words
2013-11-10 17:54:11 +01:00
kelson42
987d6f672f
+ take care the nore than maxsuggestions is delivered
2013-11-10 17:42:52 +01:00
kelson42
2ad238f095
+ fix kiwix:ucFirst and kiwix:lcFirst
2013-11-05 12:08:43 +01:00
kelson42
835388daf9
cleaner unescapeUrl()
2013-10-07 13:10:37 +02:00
kelson42
48fa26028f
+ fix small regression in the unescape_url() code
2013-10-06 20:58:20 +02:00
kelson42
696cfc90c3
+ small beautifying of the code
2013-09-22 16:56:16 +02:00
kelson42
0bab890203
+ fix small regression
2013-09-22 13:17:11 +02:00
kelson42
c9d1f562ff
+ fix a few typo/style stuff
2013-09-22 13:11:19 +02:00
Kiran Mathew Koshy
1299c4c264
wix::Manager::getBooksIDs() now returns diff files too.
2013-09-22 15:09:23 +05:30
Kiran Mathew Koshy
14a4394f6d
Permanant fix for bug651.
...
Kiwix manager class is back to original state, additional function for obtaining origID has been added to Kiwix::Reader class.
Kiwix-manage and Kiwix-serve back to normal.
2013-09-20 18:35:20 +05:30
Kiran Mathew Koshy
2f89926616
Updated Kiwix::Manager class to accept origID as the last optional parameter, so as not to break existing tools which use Kiwix::Manager
2013-09-20 02:52:29 +05:30
Kiran Mathew Koshy
c22b5a1d4c
Rmoved title, favicon, faviconmimetype,description,author, publisher, date, language parameters from library file for diff files.
2013-09-18 15:55:29 +05:30
Kiran Mathew Koshy
7fbf20936e
Updated kiwix::manager class to prevent it from returning a diff file as a normal book.
2013-09-13 14:59:44 +05:30
Kiran Mathew Koshy
7fd2dce1fa
Modified Kiwix-manage to incorporate origID parameter for diff files in the kiwix library.
...
Book class and Manager class modified.
-Kiran
2013-09-06 04:09:35 +05:30
renaud gaudin
d2a2802897
ctpp2 as external lib on unix
2013-08-10 22:14:18 +08:00
kelson42
75130b883b
+ load custom ctpp2 class
2013-08-07 12:24:48 +08:00
kelson42
80750edbdd
+ Isolation of a custom CTPP2 class
2013-08-07 12:24:16 +08:00
kelson42
bd81a2c662
+ fix mgmt of custom libraries with relative paths
2013-08-06 13:43:26 +08:00
kelson42
435e7ac76f
+ fix in ro library mgmt
2013-08-06 13:09:34 +08:00
kelson42
c80914b774
+ fix library update with readonly libraries
2013-08-06 12:41:14 +08:00
kelson42
34d69ae2c2
+ better deal with relative/absolute paths
2013-08-05 19:08:50 +08:00
kelson42
cb95e1f2ee
addBook() save also books pathAbsolute&indexPathAbsolute
2013-08-05 19:07:10 +08:00
kelson42
58f30fd0e5
+ fix escaping character (%) parser in url parsing
2013-08-05 16:40:40 +08:00
kelson42
5d8593805f
+ fixes for Android
2013-08-05 13:11:35 +08:00
kelson42
2a13f2a177
+ add kiwix string split() functions in android builds
2013-08-05 11:38:27 +08:00
kelson42
9b3064d945
+ better deal with paths
2013-08-04 15:26:09 +08:00
kelson42
acc78f585b
+ replace a few variables with a CONSTANT
...
+ new method computeRelativePath()
2013-08-04 14:26:33 +08:00
kelson42
15b6c4f8b2
+ move "intelligent" getTitle() code from library.cpp to reader.cpp
2013-06-22 00:39:10 +02:00
kelson42
4ab6898586
+ replace POST method with GET method in kiwix-serve UI
2013-06-17 14:56:15 +02:00
kelson42
d38bc834c5
+ new trial to fix the bug with the failing onclick on the kiwiwx-serve suggestion list
2013-05-21 11:09:35 +02:00
kelson42
d068ed9037
+ last fix in the suggestion bug (with click)
2013-05-20 12:50:53 +02:00
kelson42
ae44b87f82
* FIXED: Buggy kiwix-serve suggestion click handling
2013-05-20 12:40:30 +02:00
kelson42
09a6877012
+ avoid return pointer of a stack allocated memory block
2013-05-13 13:01:57 +02:00
kelson42
8b4941b55a
+ fix duplicate suggestion under certain conditions
2013-05-11 20:34:47 +02:00
kelson42
610257e4fd
+ include stdint.h on OSX
2013-05-07 21:21:49 +02:00
kelson42
2554f3e93a
+ try to fix compilation issue on OSX
2013-05-07 20:24:54 +02:00
kelson42
c67bbf3922
+ fix for MSVC2010
2013-05-06 21:26:31 +02:00
renaud gaudin
ea3f698d6f
Fixed compilation on OSX [broken long ago by attempting to support OSX10.5]
2013-05-01 15:29:21 +00:00
renaud gaudin
8fcd9583c4
Added ifdef to exclude ICU/unicode code from Android build
2013-04-04 10:48:33 +02:00
kelson42
2d88190f28
* FIXED: Abstruse index names ( #84 )
2013-03-29 02:03:18 +01:00
kelson42
499b50172f
+ small visual UI fixes
2013-02-12 19:33:00 +00:00
kelson42
3784118bb2
* FIXED: kiwix-serve crahs if really long URL ( #400 )
2013-02-12 18:55:09 +00:00
kelson42
36f0b977f7
* FIXED: kiwix-serve UI for non-javascript browsers like Dillo ( #587 )
2013-02-12 18:13:01 +00:00
kelson42
fd9c259d2a
+ fix problems on windows with relative paths
2013-01-11 10:53:17 +00:00
kelson42
c0847edec9
+ remove useless debug message
2013-01-05 16:20:43 +00:00
kelson42
306b7ebbb0
+ fix fulltext result page for pattern including mustbeurlencoded characters
2012-12-30 16:55:08 +00:00
kelson42
bb62f3aa94
+ kiwix-serve page margin-top a little bit bigger
2012-12-20 22:30:35 +00:00
kelson42
5bf6988e24
* FIXED: Buggy filtering by size in the library
2012-11-25 11:29:06 +00:00
kelson42
9dc430b07c
+ remove useless comments
2012-11-20 00:11:56 +00:00
kelson42
5b5abceda4
+ some fixes in static pages
2012-11-15 14:06:30 +00:00
kelson42
76596f8f35
+ improve a few static html templates
2012-11-15 14:00:32 +00:00
kelson42
c74bb9c939
+ better html conformance for static pages
2012-11-15 13:51:33 +00:00
kelson42
1823771770
+ lang. fix in the result page template
2012-11-10 22:48:30 +00:00
kelson42
c90d2238d0
STD style tree code (for a better suggestion system)
2012-11-06 16:39:04 +00:00
kelson42
249f9ccf6b
+ port ip detection for server mode to MS/Windows
2012-10-22 07:12:22 +00:00
kelson42
6e0b99a32f
+ better computer ip detection for computing server url
2012-10-21 18:53:38 +00:00
kelson42
1acb7b4d29
* NEW: Indexing progression more accurate
2012-10-19 18:47:02 +00:00
kelson42
49ec0b5652
+ small fix for better support of Windows
2012-10-15 17:53:18 +00:00
kelson42
956d37dee8
better deal with *.zimaa paths
2012-10-14 12:18:57 +00:00
kelson42
63c210db1c
+ better exception management
2012-10-14 11:39:21 +00:00
kelson42
f165747f16
NEW: if "/M/Description" empty, check "/M/Subtitle" (used by Mediawiki Collection ext.)
2012-10-08 10:42:34 +00:00
kelson42
2240b11224
+ better alloc memory
2012-10-08 10:27:30 +00:00
kelson42
7a0aab3917
+ more article to index at the same time
2012-09-06 05:34:30 +00:00
kelson42
dbbab7622e
+ delete a pointer
2012-09-05 17:55:18 +00:00
kelson42
3e24b168da
+ fix sync. bug in multithreading indexer
2012-09-05 15:43:53 +00:00
kelson42
3a884083de
+ small fix of a typing error
2012-09-05 11:49:57 +00:00
kelson42
65b6efc307
+ more debug informtion in the indexer
2012-09-05 11:06:42 +00:00
kelson42
ebd9ee6c01
+ code fix
2012-09-04 05:33:37 +00:00
kelson42
f48f059d99
+ few compilation fixes
2012-09-03 09:07:58 +00:00
kelson42
4f692eabd1
+ clean code
2012-09-02 08:15:56 +00:00
kelson42
10d855ced5
+ first version of stopwords support
2012-09-01 11:54:23 +00:00
kelson42
e4f52e355d
+ improve the verbose messages
2012-08-29 22:25:28 +00:00
kelson42
a0b8ef99fc
+ replace sleep() by usleep(0
2012-08-29 22:21:41 +00:00
kelson42
0c6bf971bf
+ size initialisation (=0)x
2012-08-26 09:29:44 +00:00
kelson42
8de4dd9ce0
+ move improved suggestion system (check also variations of the prefix) to reader.cpp
2012-08-25 15:36:41 +00:00
kelson42
f3bdf98a51
+ size in KB (not in Bytes)
2012-08-22 15:11:40 +00:00
kelson42
ea8f560c76
+ fix escaping problem by kiwix-serve suggestions
2012-08-15 19:17:45 +00:00
kelson42
f8bb4a9998
+ ucFirst() and lcFirst() functions
2012-08-15 18:50:24 +00:00
kelson42
59d67aa036
+ remove js warning in kiwix-serve autosuggest
2012-08-14 16:36:18 +00:00
kelson42
68cf5e4977
+ move unaccent.[h|cpp] to stringTools.[h|cpp]
...
+ remove unaccent.[h|cpp]
+ put stringTools.[h|cpp] methods in the "kiwix" namespace
+ modify code & compilation script to keep everything compiling
2012-08-14 10:58:03 +00:00
kelson42
6cac5e6320
+ remove useless js code
2012-08-14 07:11:45 +00:00
kelson42
c55de68072
+ implement the suggestion in kiwix-serve
2012-08-13 23:37:51 +00:00
kelson42
d37e2355f8
+ in computeAbsolutePath(), if "root" path is empty, compute with the current path
2012-08-13 22:47:09 +00:00
kelson42
0305c3fff5
+ buffer of 5000 instead of 10000 for the indexer
2012-08-08 21:57:10 +00:00
kelson42
6067fab7f3
+ better "verbose" mode
2012-08-08 14:39:40 +00:00
kelson42
67211be8ad
+ better computation of ZIM files sizes
2012-08-05 18:44:05 +00:00
kelson42
cef66b20e1
+ getFileSize() method
2012-08-05 18:34:44 +00:00
kelson42
e9740183c2
+ replace C code with C++
2012-08-05 18:03:44 +00:00
kelson42
f4dc0a43e0
* FIXED: kiwix-serve memory leak on ARM (ID: 3538663)
2012-07-29 22:56:07 +00:00
kelson42
4d15525dca
+ remove a few function attribute references
2012-07-25 16:29:49 +00:00
kelson42
6ae3c27195
+ fix small regression in indexinv (title were without accents)
2012-07-12 17:51:23 +00:00
kelson42
d1ccecc5f7
+ fixed indexing progression > 100% (ID: 3539572)
2012-07-05 10:30:10 +00:00
kelson42
28138e7ff9
+ change call of function appendToFirstOccurence() and replaceRegex()
2012-06-28 12:53:06 +00:00
kelson42
084af011dd
+ try to fix ZIM loading problem on Windows with library relative paths
2012-06-14 18:32:41 +00:00
reg_
3a5b7fabc1
added #include <unistd.h> for GCC 4.7+
2012-06-07 15:21:10 +00:00
kelson42
2cd537fd02
+ try to fix the problem with corrupted resources on arm kiwix-serve
2012-05-20 10:53:00 +00:00
kelson42
f29a845682
+ realloc values before creating the string
2012-05-19 19:16:26 +00:00
kelson42
ae8882bd58
+ new version of the resources
2012-05-12 21:27:24 +00:00
kelson42
4259de99f2
+ change HTML ids of kiwix taskbar
2012-05-03 10:11:05 +00:00
kelson42
fd87db6844
+ xapian writabledatabase::close() only for Windows
2012-04-28 17:22:33 +00:00
kelson42
4dd4d510c9
+ Move beautifyInteger() to stringTools.[h|cpp]
2012-04-28 16:16:54 +00:00
kelson42
f48df4a960
+ move splitString.[h|cpp] to stringTools.[h|cpp]
2012-04-28 16:01:27 +00:00
kelson42
508fd68958
+ fix small regression in kiwix-serve search engine display
2012-04-24 18:09:09 +00:00
kelson42
b61db587ac
+ new resources
2012-04-24 16:35:10 +00:00
reg_
91245974e2
fixed indexer UI on OSX
2012-04-24 16:25:03 +00:00
kelson42
2acadfb0c9
+ remove small -reorder compilation warning
2012-04-24 15:20:09 +00:00
kelson42
040ace5091
+ replace in the searcher the usage of dynamic loaded template file by the usage of a resource
2012-04-23 21:20:25 +00:00
kelson42
359f386ebe
+ first version of the resourceTools
2012-04-23 17:36:09 +00:00
kelson42
d00142d1cd
small improvement of getHumanReadableIdFromPath()
2012-04-23 11:15:32 +00:00
kelson42
b8a13ede0a
+ small windows adaptation to the function to get the exe full path
2012-04-19 16:22:45 +00:00
reg_
17a4c42eb3
fixed getExecutablePath() on OSX
2012-04-19 16:10:34 +00:00
kelson42
bec68ffa13
+ close cleanly the writabledatabse at the end of the indexing process
2012-04-19 13:31:15 +00:00
kelson42
b40a317bf0
+ introduce Sleep() for Windows
2012-04-19 12:10:05 +00:00
kelson42
9c3c3a1f68
Manager::readFile() returns now false if the file can not be found/open/read
2012-04-19 08:18:50 +00:00
kelson42
8f69987929
+ last improvement of the new kiwix-serve
2012-04-16 23:21:37 +00:00
kelson42
54cb99d074
+ add unaccent.[c[[|h] to Makefile.am
...
+ fix some regression added few hours ago
2012-04-16 22:48:12 +00:00
kelson42
179ed1917d
+ Book.getHumanReadableIdFromPath()
2012-04-16 19:32:24 +00:00
kelson42
2e8806e4d7
+ sort contents by date DESC
2012-04-16 16:18:42 +00:00
kelson42
12fd7eb06a
+ comment a xapian commit(), not mandatory and not available in old xapian versions
2012-04-16 14:31:25 +00:00
kelson42
52348ef11c
+ fix different stuff related to the new indexer
2012-04-07 20:48:55 +00:00
kelson42
1fd0314f1e
+ small fix to avoid system error by "killing" the indexing
2012-04-07 20:27:56 +00:00
kelson42
6e5d8f717e
+ clucene fix for the new indexer
2012-04-07 19:31:11 +00:00
kelson42
5aacc01d65
+ imp. of the new indexing process
2012-04-07 15:00:15 +00:00
kelson42
65b4015f03
+ new indexer
2012-04-07 14:09:47 +00:00
kelson42
62daa9ffe5
+ new indexer code
2012-04-06 21:48:43 +00:00
kelson42
735d9afd3a
+ imp. of the new indexer
2012-04-03 10:55:49 +00:00
kelson42
9ead81ca0c
+ compute "default" title if not specified in the ZIM file metadata
2012-04-02 19:52:19 +00:00
kelson42
2ae7112a32
+ fix small bug in the new indexer
2012-04-02 19:49:16 +00:00
kelson42
9e8d6f3c25
+ first working version of the multithreaded indexer
2012-04-02 18:25:10 +00:00
kelson42
6e66fd176d
+ further dev of the multithreader indexer
2012-03-29 13:33:15 +00:00
kelson42
e930f65297
+ further multithreaded indexer dev.
2012-03-29 09:42:35 +00:00
kelson42
20daa92b65
+ start of the work on the multithreading indexer
2012-03-28 14:59:57 +00:00
kelson42
81424fedf3
+ new function def. for the indexer
2012-03-15 19:18:48 +00:00
kelson42
e6299aaeab
+ stub of new functions
2012-03-15 18:41:46 +00:00
kelson42
1455c1bfbc
FIXED: Library filtering by language with ISO639-1 language ZIM metadata
2012-03-08 21:13:09 +00:00
kelson42
288b0018fa
+ exception include
2012-03-07 17:25:33 +00:00
kelson42
b17f6a6d01
FIXED: Kiwix-serve sporadic invisible search box with non-latin contents
2012-02-27 17:57:26 +00:00
kelson42
8f89edf17c
+ fix bug in regex insertion (string was inserted in wrong place)
2012-02-27 17:25:01 +00:00
kelson42
bc8a400fd1
FIXED: Number of articles to high in the library (ID: 3396763)
2012-02-27 11:32:06 +00:00
kelson42
0b50729e03
+ fixed compilation with clucene 2.3
2012-02-07 23:41:03 +00:00
kelson42
1fb5194906
+ new getCurrentBook() method
2012-01-24 12:45:22 +00:00
reg_
19c355241c
fixed OSX indexing never ending
2011-12-22 14:07:28 +00:00
kelson42
d0d08c4f96
+ better default page loading
2011-12-22 11:54:19 +00:00
kelson42
fb1d0893e3
+ remove useless comment
2011-12-22 11:25:59 +00:00
kelson42
72e62fab6b
+ move appendToFirstOccurence() to regexTools.cpp and use now ICU as regex engine
2011-12-22 11:25:24 +00:00
kelson42
73217d5e49
+ small bug fix for windows
2011-12-20 20:11:56 +00:00
kelson42
784f87e715
+ port to windows
2011-12-17 14:59:43 +00:00
kelson42
4b545b8ae2
2011-12-12 14:49:49 +00:00
kelson42
faff227365
+ port makeDirectory to WIN32
2011-12-10 18:52:11 +00:00
kelson42
8df9c53878
+ fix the implementation of the arrows in the search restult page
2011-12-04 15:11:38 +00:00
kelson42
aa9ebdb87e
+ * Add "First" and "Last" arrows in the search result page (ID: 3442313)
2011-12-04 13:40:22 +00:00
kelson42
d851d065e8
+ small modification in the behaviour of addBook()
2011-11-28 10:50:57 +00:00
kelson42
74caed4811
Fix a wrong behaviour in case of two portable kiwix consecutive runs (ID: 3442083)
2011-11-26 09:32:02 +00:00
kelson42
fb12ac5eb1
+ small improvment of getMainPageUrl()
2011-11-26 07:14:09 +00:00
kelson42
9d4fd28ba6
* In the library, pressing <ENTER> in your local library directly open the file
...
* Greying "Load random article" menu entry if no content is loaded (ID: 3439112)
* Add the support of the "publisher" ZIM Metadata
2011-11-18 14:25:21 +00:00
kelson42
97548d4798
+ better deal by SetIndexBook() and SetBookPath() with relative paths.
...
+ Add addBookFromPathAndGetId() to know which book id has the added book
2011-11-01 15:07:30 +00:00
kelson42
bf58cf6b76
+ small fix to be able to save relative path in addBookFromPath()
2011-11-01 12:58:34 +00:00
kelson42
79d00c2b36
+ small fix to avoid duplicate slashes in paths
2011-11-01 12:58:00 +00:00
kelson42
5922808e12
+ copyFile() & getLastPathElement()
2011-11-01 12:25:33 +00:00
kelson42
f2280a6b02
+ bool makeDirectory(const string &path);
2011-11-01 10:57:51 +00:00
kelson42
cfa00c33f2
+ fix bug in path computation in computeAbsolutePath()
2011-11-01 10:04:16 +00:00
kelson42
9d371f295c
+ use libicu in regexTools
2011-10-31 09:55:34 +00:00
kelson42
9c9b32f897
+ fixed a regression I added one week ago
2011-10-31 09:46:38 +00:00
kelson42
5bd84c8db7
+ add the fileExists() function
2011-10-28 16:13:44 +00:00
kelson42
400cf57343
+ remove a few warnings with better parentheses and a cast
2011-10-28 16:06:19 +00:00
kelson42
98bf706297
+ better factorisation of the code (moved from manager.cpp to pathTools.cpp) -> creation of functions getFileSize() and getFileSizeAsString()
2011-10-28 15:54:31 +00:00
kelson42
9182f4e529
+ reorganisation of the code: creation of componentTools.[h|cpp] with two methods for charset manipulation (only used in contentManager XPCOM) and move of 3 path manipulations functions from manager.cpp to pathTools.cpp
2011-10-28 15:40:17 +00:00
kelson42
7e00a3339d
+ introduction of ternary operators
2011-10-24 13:26:53 +00:00
kelson42
8dce6d645e
+ remove useless string init. (string foobar="")
2011-10-24 13:13:50 +00:00
kelson42
c40a87837e
+ less if, more efficient
2011-10-24 12:55:12 +00:00
kelson42
1e9bfa168d
Better kiwix-serve default loading if no welcome page is defined in ZIM (ID: 3417227)
2011-10-24 12:50:27 +00:00
kelson42
72b8527654
+ add regex cache
2011-10-23 14:16:03 +00:00
kelson42
a1dfb3c9fd
+ New content manager search/filter feature (ID: 3390515)
2011-10-13 11:31:20 +00:00
kelson42
e33b448380
+ fix the generation of the lastopen list of files
2011-10-13 10:35:56 +00:00
kelson42
aadce46adf
+ improve filter
2011-10-11 22:22:14 +00:00
kelson42
5cd20c8fa7
+ code to pupulate publisher list in the content manager
2011-10-11 20:33:08 +00:00
kelson42
8b5559af2b
+ code to populate the language filter combobox in the content manager
2011-10-11 18:47:08 +00:00
kelson42
0f3c1e2888
+ filter by size
2011-10-10 17:05:36 +00:00
kelson42
d11f027fbe
+ content manager sortBy
2011-10-10 14:24:32 +00:00
kelson42
8f43bcc954
* Fixing a bug responsible of masking ongoing downloads while deleting an other content
2011-09-18 14:13:19 +00:00
kelson42
cf07bf827b
+ better deal with accented paths
2011-09-05 19:21:58 +00:00
kelson42
6959085e3c
+ better deal with accented paths
2011-09-05 18:53:02 +00:00
kelson42
1c2037e5fa
+ better deal with accented paths
2011-09-05 18:24:21 +00:00
kelson42
1475646cf3
+ pathTools
2011-09-05 18:18:41 +00:00
kelson42
a1c38f8d74
+ fix to deal with relative path on Windows
2011-09-04 13:48:26 +00:00
kelson42
4fbf78164a
+ fix a bug with index relative paths
2011-09-04 13:07:04 +00:00
kelson42
e06af8e68f
+ improvement of isRelativePath()
2011-09-03 14:50:11 +00:00
kelson42
39c44c578c
+ first version to deal with relative paths
2011-08-31 05:58:00 +00:00
kelson42
215300f206
+ load content manager per default if not local content detected (first start use case)
2011-08-25 06:39:53 +00:00
kelson42
a596427a5e
+ display start=n+1 in search result pat if offset=n (people start to count at 1, not 0)
2011-08-16 19:28:11 +00:00
synhershko
b7984c5138
Updating CLucene search and index routines
2011-08-03 07:48:31 +00:00
synhershko
b146d87158
Updating clucene searcher
2011-08-02 16:14:53 +00:00
kelson42
4b6caa48ce
+ few additional check to avoid segfaults if ZIM file is not there
2011-07-27 19:25:25 +00:00
kelson42
97881fbbb6
+ avoid the listing of ZIM in content manager as remote if url attribute is empty (obvious)
2011-07-21 19:47:12 +00:00
kelson42
8569f67c84
<base64.h> -> "../base64.h"
2011-07-21 18:45:34 +00:00
kelson42
a2e4ecc9f5
+ kiwix-manage is not able anymore to add ZIM file without title || date || language metadata
2011-07-21 12:13:44 +00:00
kelson42
86dae55c18
+ add alternative favicon urls
2011-07-07 11:54:43 +00:00
kelson42
5b679f6b1b
+ add "remove" button in the download manager
2011-06-28 18:52:20 +00:00
kelson42
2b50a1d505
+ remove unistd.h
2011-06-08 19:39:20 +00:00
kelson42
2bcd992049
+ remove debug code
2011-06-04 10:04:27 +00:00
kelson42
bf9bed56d7
+ last improvement in the download manager
2011-06-02 15:43:46 +00:00
kelson42
acf0294e78
+ favicon UI integration finished
2011-05-14 10:59:05 +00:00
kelson42
6ed6fbe171
+ add support of favicon in library manager
...
+ fix a bug in the snippet lenght computation in the search engin indexer
2011-05-14 10:29:55 +00:00
kelson42
67d0340d77
+ last content mgmt. imp.
2011-05-09 17:18:44 +00:00
kelson42
49dd576a8a
+ last imp.
2011-05-08 19:45:09 +00:00
kelson42
de807c8e78
+ last imp. in new content mgmt.
2011-05-08 19:00:53 +00:00
kelson42
e6ff96ecb4
+ content mgmt. last dev.
2011-05-08 18:45:26 +00:00
kelson42
804889d5dc
+ last imp. of the content manager
2011-05-08 16:44:58 +00:00
kelson42
35b4a1402f
+ content manager last imp.
2011-05-08 09:47:27 +00:00
kelson42
526aec41d5
+ content mgmt last imp. : we have now something working as good as before but with C++ code
2011-05-07 20:07:24 +00:00
kelson42
e05dd65111
+ last imp. in the new content manager
2011-05-07 15:33:33 +00:00
kelson42
ca1713d609
+ last imp. of contentManager
2011-05-06 19:45:25 +00:00
kelson42
c7fbc52e7a
+ new core content mgmt imp.
2011-05-05 05:39:09 +00:00
kelson42
6cfc716c84
+ new dev in content manager core
2011-05-04 15:27:08 +00:00
kelson42
6b8112b88b
+ imp. of kiwix-manage
2011-04-20 19:20:51 +00:00
kelson42
355ca7057e
+ imp. of kiwix-manage
2011-04-20 18:47:01 +00:00
kelson42
08bcb43afb
+ kiwix-manage new devs.
2011-04-20 06:16:41 +00:00
kelson42
93d5daeb94
+ next dev. of kiwix-manage
2011-04-17 17:12:49 +00:00
kelson42
2fae9e3b71
+ readXML()
2011-04-15 17:43:08 +00:00
kelson42
97d38cd5ad
+ stub of kiwix-manage
2011-04-15 17:16:27 +00:00
kelson42
4b5126ab75
+ template adaptation for using in kiwix-serve
2011-04-08 14:12:39 +00:00
kelson42
bfd78ed71c
+ possible now to navigate trhough all the results
2011-04-03 11:32:51 +00:00
kelson42
91dfb75b47
+ selected only the current page in the page list at the bottom of each result page
2011-04-03 11:08:35 +00:00
kelson42
a52d290739
+ replace "." by "," for numbers over 999
2011-04-02 18:20:33 +00:00
kelson42
709f32a872
+ better able to deal with indexes without article size & wordCount
2011-04-02 17:50:54 +00:00
kelson42
db145fb4a7
+ in getHtml(), fix the range end value if end > estimatedCount
2011-03-30 21:10:20 +00:00
kelson42
0f1bfed262
+ fix a bug in searcher::getPageUrlFromTitle()
2011-03-29 15:16:18 +00:00
kelson42
91212bdb13
+ last dev. on the search feature before beta1
2011-03-26 15:29:56 +00:00
kelson42
f7e842db3a
+ remove a compilation warning
2011-03-24 12:03:36 +00:00
kelson42
71c3bda0cc
+ remove a few compile warnings
2011-03-24 11:26:58 +00:00
kelson42
bd5205688a
+ better fix the the multibyte character issue.
2011-03-24 07:24:23 +00:00
kelson42
939155a9cb
+ fix a bug occuring if cutting the snippet in the middle of a multibyte character
2011-03-24 07:15:17 +00:00
kelson42
41217c22d8
+ search page navigation
2011-03-22 21:04:41 +00:00
kelson42
8b291cd219
+ beautifyInteger()
2011-03-22 18:27:20 +00:00
kelson42
ef3202dc02
+ better search results
2011-03-20 18:47:14 +00:00
kelson42
5056c59747
+ imp. of the search results display
2011-03-20 17:59:31 +00:00
kelson42
51b605906a
+ load the result template automaticaly from the skin directory
2011-03-19 10:48:23 +00:00
kelson42
3f2f79d40f
+ introduction of estimatedResultCount in template
2011-03-18 15:13:57 +00:00
kelson42
8878f4e8f3
+ getEstimatedResultCount()
2011-03-18 13:51:41 +00:00
kelson42
5e162d6f47
+ removing of the result sidebar
2011-03-18 07:07:44 +00:00
kelson42
9e8ebdaf6e
+ stub template for the result page
2011-03-15 21:23:12 +00:00
kelson42
fb570a6a9d
+ ctpp2 integration continues... it starts to work
2011-03-15 20:59:59 +00:00
kelson42
cebae645e6
+ new improvements in ctpp2 integration
2011-03-14 22:50:50 +00:00
kelson42
519eebccd2
+ continue the implementation of ctpp2
2011-03-14 21:39:45 +00:00
kelson42
045717117e
+ first steps for ctpp2 usage
2011-03-14 21:09:06 +00:00
kelson42
8f11852627
+ GPLv3 headers
2011-03-12 13:19:36 +00:00
kelson42
1edd7ebd01
+ add checksum checks methods in the kiwix::reader and in the XPOM zimAccessor component
2011-03-04 14:05:59 +00:00
kelson42
ddea078734
+ if no title is found in the HTML, get the one of the ZIM file
2011-02-15 16:43:48 +00:00
kelson42
e19e53e373
Fix a small bug in the indexing code to avoid forgetting around 100 articler per ZIM file
2011-01-29 20:59:30 +00:00
kelson42
fa0add82ac
* Fix regressions responsible for lower case titles in result list (ID: 3147594)
2010-12-29 16:12:51 +00:00
kelson42
4deacdd923
+ additional work to the clucene backend... it still does not work :(
2010-11-17 20:58:19 +00:00
kelson42
6eb3da53cc
+ include "time.h"
2010-11-16 17:58:59 +00:00
kelson42
e3afa2339b
+ Fix the initialisation of the random article url generator (ID: 3109548)
2010-11-15 16:23:39 +00:00
kelson42
3d10562634
+ add the "verbose" arg. to searchInIndex()
2010-11-07 10:42:50 +00:00
kelson42
34953af21b
+ small test version of the CluceneReader
2010-11-06 16:44:05 +00:00
kelson42
e7923b75e9
+ stub of Clucene search code (still does not work)
2010-11-06 16:03:32 +00:00
kelson42
92aec4e612
+ factorization of the Searcher class to avoid multiple backends (preparation work for CluceneSearcher class and CluceneAccessor XPCOM)
2010-11-06 11:47:13 +00:00
kelson42
e48d5b5a24
+ introduce standart boost factor for title & keywords during the index process
2010-11-05 14:51:36 +00:00
kelson42
4484623e67
+ better indentation
2010-11-02 19:13:21 +00:00
kelson42
b4ab94e4c0
+ first version working of the clucene indexer class
2010-11-02 19:00:37 +00:00
kelson42
dd4913a77c
+ fix a memory leak (caused by a regression during the code refactoring)
2010-11-02 16:19:40 +00:00
kelson42
69586116ed
+ small fix in #include to avoid compilation error
2010-10-31 07:53:32 +00:00
kelson42
db246168b1
+ stub of the cluceneindexer class
2010-10-30 21:30:29 +00:00
kelson42
c003035a5e
+ better factori. of the indexer code
2010-10-30 21:26:14 +00:00
kelson42
ef2423b1a7
+ factorizing of the kiwix::Indexer class in kiwix::Indexer (abstract) and kiwix::XapianIndexer
2010-10-27 19:23:05 +00:00
kelson42
d52c86bcac
* Fix an URL parsing issue impacting title containing a '/' (ID: 3065286)
2010-09-13 19:59:51 +00:00
kelson42
459e6550b5
+ fix for the wikipedia-de
2010-07-16 19:29:58 +00:00
kelson42
d968ac7114
+ add a stub HTML header/footer if the content only have the <body>
...
.--Cette ligne, et les suivantes ci-dessous, seront ignorées--
M reader.cpp
2010-07-16 18:14:32 +00:00
kelson42
c9a81bf79b
+ add the --verbose|-v option to kiwix-index
2010-07-15 19:11:43 +00:00
kelson42
5891b91433
+ getMetatag*(
2010-07-04 18:11:25 +00:00
kelson42
3555e4f918
+ tokenize the search query with Xapian::Query::parser_query() and not anymore with split()
2010-07-04 15:55:12 +00:00
kelson42
4178289614
+ fix for malayalam
2010-06-27 16:31:48 +00:00
kelson42
3735f31946
+ remove debug comments
2010-06-12 17:15:52 +00:00
kelson42
a69aac50bc
+ fix a few things for the 0.9 alpha4
2010-06-12 17:13:57 +00:00
kelson42
19ac4741e6
+ fix the problem with failing accented searches on windows
2010-05-25 17:11:05 +00:00
kelson42
624547d8ef
+ remove debug code
2010-05-16 15:42:57 +00:00
kelson42
eedce3b363
+ new printStringInHexadecimal debug methof for UnicodestringS
2010-05-16 14:19:54 +00:00
kelson42
eb12d13f59
+ printStringInHexadecimal() for debugging purpose
2010-05-16 12:52:14 +00:00
kelson42
e6f0e38677
+ remove a compilation warning
2010-04-28 15:16:17 +00:00
kelson42
c1a31db217
+ remove an include
2010-04-18 07:58:10 +00:00
kelson42
31dc311f2a
+ improved version of removeAccents(9
2010-04-16 13:33:50 +00:00
kelson42
27ee27bbe9
+ replace libunac by libicu
2010-04-16 12:28:42 +00:00
kelson42
40042efe06
+ small imp.
2010-04-14 16:27:52 +00:00
kelson42
9d92cec52d
+ small beautify
2010-04-14 16:27:11 +00:00
kelson42
cdd43db32d
zim::Article currentArticle better local declared
2010-04-09 09:42:55 +00:00
kelson42
c22049ea8c
+ stopwords code stub
2010-04-06 08:21:26 +00:00
kelson42
fe1095082c
+ remove debug outputs
2010-03-25 08:49:20 +00:00
kelson42
83bcb034b8
+ small refactoring
2010-03-24 20:28:36 +00:00
kelson42
22f701387e
+ reader::getId() returns a printable string
2010-01-28 14:42:58 +00:00
kelson42
d942d614e7
add double quote in the tokenizer separator character list (see ID: 2939690)
2010-01-26 11:21:10 +00:00
kelson42
0f4d6eb371
+ lowercase the search partern in search.[cpp|h]
2010-01-25 11:28:32 +00:00
kelson42
dc9e92e1e6
+ factorisation of the code, creation of the kiwix::Searcher class
2010-01-23 12:42:08 +00:00
kelson42
0eba48c200
+ move of src files
2010-01-23 12:27:40 +00:00
kelson42
c9778c9097
+ kiwix-server uses now kiwix::Reader
2010-01-20 20:01:44 +00:00
kelson42
fb2dfdd677
+ factorization of the zim reader code
2010-01-20 19:46:13 +00:00
kelson42
793e51c86c
+ new trunk zimlib
2010-01-08 23:03:06 +00:00
kelson42
86597c856d
+ few imp. in the indexer code
2009-12-20 14:10:58 +00:00
kelson42
bc65a459d9
+ move the html parser
2009-12-17 21:49:07 +00:00
kelson42
4464e611a9
+ factorization of the indexing code
2009-12-17 21:48:16 +00:00
kelson42
c19ad61051
+ small imp.
2009-11-15 17:26:17 +00:00
kelson42
8346cc7a23
+ imp version
2009-11-14 16:07:01 +00:00
kelson42
482893ae39
+ mutualization of unaccent code
2009-11-14 15:54:46 +00:00