Matthieu Gautier
062124a2a0
Add Book::getFaviconUrl
2018-11-15 17:47:41 +01:00
Matthieu Gautier
622b22b2cc
Merge pull request #180 from kiwix/new_version
...
New version 3.0.3
2018-11-12 18:05:43 +01:00
Matthieu Gautier
2821b9e06a
New version 3.0.3
2018-11-12 16:48:35 +01:00
Matthieu Gautier
ac49776792
Merge pull request #182 from kiwix/fix_aria2c_launch
...
Wait a bit more between attempts to connect to aria2c rpc.
2018-11-12 16:28:21 +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
84e831eae9
Merge pull request #181 from kiwix/fix_aria2c_launch
...
Correctly run aria2c when packaged with kiwix-desktop in appimage.
2018-11-12 14:41:57 +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
be6f96adc0
Merge pull request #179 from kiwix/fix_library
...
Fix library
2018-11-12 12:21:54 +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
82b38b96e2
Merge pull request #178 from kiwix/fix_en_mapping
...
Fix en mapping
2018-11-12 10:57:18 +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
9fa7d78ba1
Merge pull request #176 from kiwix/win_relpath
...
Win relpath
2018-11-03 12:33:14 +01:00
Matthieu Gautier
57d3552b97
New version 3.0.2
2018-11-03 12:20:13 +01:00
Matthieu Gautier
d4ecda40ff
Use the correct separator when computing relativePath.
2018-11-03 12:18:54 +01:00
Matthieu Gautier
802df71410
Merge pull request #175 from kiwix/fix
...
Fix
2018-11-02 17:32:22 +01:00
Matthieu Gautier
4d904c4d8b
New version 3.0.1
2018-11-02 17:10:05 +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
360c913230
Merge pull request #174 from kiwix/new_version
...
New version 3.0.0
2018-10-31 14:47:48 +01:00
Matthieu Gautier
a60ffe78d5
New version 3.0.0
2018-10-31 14:35:22 +01:00
Matthieu Gautier
b977b08683
Merge pull request #173 from kiwix/subprocess_windows
...
Subprocess windows
2018-10-31 14:04:21 +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
5ed095531e
Correctly set pkgconfig file for static curl linking.
2018-10-30 12:59: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
8dbc34e9ae
Merge pull request #172 from kiwix/alpha2toalpha3
...
Alpha2toalpha3
2018-10-26 14:27:55 +02: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
50b7e5664a
Merge pull request #171 from kiwix/remoteContentManager
...
Remote content manager
2018-10-24 16:48:52 +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
2d59e12a4d
Merge pull request #170 from kiwix/content_manager
...
Content manager
2018-10-24 11:18:14 +02:00
Matthieu Gautier
1b44eb33f3
[TRAVIS] Last osx version of travis already have python3 installed.
2018-10-24 11:07:10 +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