Adds new option --use-dlc-list to enable using DLC list.
Previously the downloader used DLC list by default which made getting game details very slow for not much benefit.
This makes the downloader not use DLC list by default and thus getting game details is much faster.
Before and after result of listing games with 212 game collection using "time lgogdownloader --list"
Before
real 0m36,135s
user 0m0,159s
sys 0m0,039s
After
real 0m2,226s
user 0m0,048s
sys 0m0,019s
For some games the API shows files with "count" and "total_size" of zero meaning that they are not available to download
These are listed on account page for information purpose only (for example to show DLCs included in the installer)
Feature request by "coffeecup" on GOG forums
Useful for sorting big libraries with --subdir-game option
Takes the first letter from %gamename%
If %gamename% begins with a number then 0 (zero) is used instead
Makes downloader use duplicate handler for extras
This should help to avoid a race condition mentioned in issue #200 (Crashes when downloading "secure") because the downloader no longer tries to download the same file from multiple threads
Sometimes the download fails with CURLE_SSL_CONNECT_ERROR and retrying
is successful.
Sometimes multiple retries are needed, but that is already handled by
the existing code.
The variable name "current_changelog" was ambiguous. It could apply to both the newly obtained changelog from GOG and the previously saved changelog on the filesystem.
I accidentally reversed the return code for Downloader::downloadFileWithId when rewriting it to use Galaxy API in a884e8c0a3
This changes the success return code back to 0 like it was previously.
Fixes issue with filenames containing ampersand.
Also fixes issue with --download-file not assigning proper filename automatically.
New method detects the path more accurately when encountering the currently used url format but in case of unknown url format it fallbacks to the old method.
Previously orphan checking was limited to user selected language and platform values.
This meant that by default only English language and Windows+Linux was selected.
Overriding the global config values and clearing previously got details before starting the orphan check makes --check-orphans work as intended.
There was no reason to use the old downloader API for this because we can get the same data using Galaxy API.
This also means that Downloader::downloadFileWithId is now the only function using the old API.