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