427 Commits

Author SHA1 Message Date
Sude
699c9f29a5 Show the real filesize with --status on incomplete downloads 2015-07-01 04:01:18 +03:00
Sude
c4c2f8cb6d Use std::stoull instead of std::stoi in Downloader::checkStatus 2015-06-29 23:48:55 +03:00
Sude
59faa40b4b Check for incomplete download when using --status
Fixes issue with --status when remote xml data is already downloaded but the download was incomplete
Downloader::getLocalFileHash returned the same file hash as Downloader::getRemoteFileHash which caused --status to report it as OK
2015-06-29 23:00:22 +03:00
Sude
de301d7e8c Better handling of connection issues
Assume that we have connection error and abort transfer with CURLE_OPERATION_TIMEDOUT if download speed is less than 200 B/s for 30 seconds
2015-06-28 07:38:39 +03:00
Sude
c722283022 Move game filtering from Downloader::getGameList to Downloader::getGames 2015-06-21 17:20:53 +03:00
Petr Běhan
3de1c8332e better startup time when using --game regex
... especially when using generic --ignore-dlc-count='.*'

previously, lgogdownloader would fetch game details for every game
that indicated that it has DLCs. Which were all of them when used with
--ignore-dlc-count - potentialy hundreds of http queries and cause of very slow
startup with larger accounts. Regardless of what --game regex said.

After the change, only initial list of all games is fetched, and then details
for games that both the user is interested in AND they are suspected of
having DLC. So it should help with startup time even when user doesn't use
--ignore-dlc-count option.
2015-06-04 16:25:21 +02:00
Sude
834e6baa7a Add options to ignore DLC count information
Ignoring DLC count information helps in situations where the account page doesn't provide accurate information about DLCs.
--ignore-dlc-count sets regular expression filter for games to ignore DLC count information.
Game specific option "ignore-dlc-count" can be used to ignore DLC count for specific game.
2015-06-01 10:45:30 +03:00
Sude
584b953bd7 Skip extras without filename 2015-05-31 19:07:21 +03:00
Sude
0230a3517d Make Downloader::repairFile create new XML data on filesize mismatch 2015-05-30 12:42:10 +03:00
Sude
e8a8b1dd5f Fix error with login when cookies don't exist but API login works 2015-05-17 18:53:47 +03:00
Sude
c3916b2c9a Add simple login check as a fallback to current HTTP login check 2015-05-17 18:48:58 +03:00
Sude
6bf76db1da Some wishlist changes 2015-05-14 14:39:01 +03:00
Sude
29e6b6290c Add option to show wishlist 2015-05-13 17:13:30 +03:00
Sude
3e0c36beb5 Check if json has serials node and check if it is empty
Fixes downloader creating serials.txt even if the game didn't have any serials
2015-05-13 15:04:49 +03:00
Sude
5af5a286e7 Fix "Type is not convertible to string" error in Downloader::getGames
On some systems the integer to string conversion caused std::runtime_error "Type is not convertible to string"
2015-05-12 22:04:36 +03:00
Sude
50e1e34fba Add missing line ending to serial 2015-05-12 15:05:28 +03:00
Sude
cd0a829d59 Don't use the iterator directly in Util::getDownloaderUrlsFromJSON 2015-05-12 13:56:32 +03:00
Sude
c264f69eae Get game details json for dlcs later if needed
Speeds up getting game details when dlcs don't need the info from json data
2015-05-12 13:53:32 +03:00
Sude
b5cdf10078 Support new account page layout 2015-05-12 02:19:16 +03:00
Sude
21e6c6119d Make progressbar display 10 second average download speed 2015-04-27 16:51:17 +03:00
Ismo Toijala
9727b3f5c3 Fix multiple DLCs when using cache 2015-04-23 19:43:54 +02:00
Sude
d97849818e Add option to download files using file id 2015-04-11 16:42:10 +03:00
Sude
671d3ed056 Show url for http error messages 2015-04-06 16:16:26 +03:00
Sude
2fc7fa88a7 Fix skipping some files due to uncleared API error state
Sometimes when trying to get XML data failed and set API error it was never cleared.
This caused some files being skipped due to API still being in error state.
2015-03-28 14:16:00 +02:00
Sude
3834c1e612 Add option to skip fast platform detection
Useful in case platform identifier is missing for some games in the game shelf.
Using --platform with --list doesn't work when using --no-platform-detection
2015-03-28 12:52:41 +02:00
Sude
a708f3d5b8 Show response of HTTP error in API::getResponse when using debug build 2015-03-19 10:02:29 +02:00
Sude
216cfaedfe Add support for saving serial numbers 2015-03-19 09:50:50 +02:00
Sude
f039db5c65 Change jsoncpp include path 2015-01-22 09:22:48 +02:00
Sude
525985d3fb Ignore extras without filename 2015-01-05 17:02:55 +02:00
Sude
ae91c28cb0 Possible fix for crash in Downloader::checkStatus 2015-01-05 06:29:32 +02:00
Sude
7d5874d312 Make sure that file is regular file when getting local hash 2014-12-31 06:14:55 +02:00
Sude
d04cfbae1f Make progress bar adapt to terminal width 2014-11-27 23:20:22 +02:00
Sude
24105b07fe Forgot to clear API error in Downloader::getGameDetails 2014-11-22 16:07:51 +02:00
Sude
86d4e142bd Continue on API error instead of breaking off in Downloader::getGameDetails 2014-11-22 15:59:06 +02:00
Sude
c5a0a3b994 Revert "Fix login"
This reverts commit fb6c4496a513ec202d1f04e1291f084ed02d6f58.
2014-11-19 23:59:27 +02:00
Sude
fb6c4496a5 Fix login 2014-11-19 22:47:42 +02:00
Sude
6751205ff3 Fix regex alias "all" for cached details 2014-11-17 16:28:43 +02:00
Sude
6bd51c9ed3 Fix using --update-cache with --use-cache 2014-11-17 15:32:06 +02:00
Sude
cb2395b0ba Make config and cookie files only readable/writable by current user 2014-10-28 21:03:02 +02:00
Gael Le Mignot
a46fad588b First working version of priority handling 2014-10-26 10:47:13 +01:00
Sude
b8d13514b7 Fix the regex in Downloader::HTTP_Login
The regex in ec79a18 was greedy and matched more than was necessary
Change the regex to non-greedy to fix this
2014-10-20 22:41:10 +03:00
Sude
ec79a18cf5 Fix login
GOG made some changes to their website which caused the regex in Downloader::HTTP_Login to match wrong auth url.
2014-10-19 18:33:23 +03:00
Sude
d0986542ef Don't get game list when using cache unless --list was used 2014-10-16 19:14:22 +03:00
Sude
9235ee8b4a Add support for caching game details
Helps with large libraries when running the downloader multiple times.
Getting game details for many games takes a long time. Caching the game details makes the process much faster for subsequent runs.

Game details are cached to "$XDG_CACHE_HOME/lgogdownloader/gamedetails.json"
--update-cache creates and updates the cache.
--use-cache enables loading game details from cache.
--cache-valid specifies how long cached game details are considered valid
2014-10-16 11:05:57 +03:00
Sude
a6da2e5bea Set filepath for language packs
I forgot to set the filepath for language packs which caused some problems
2014-10-11 02:44:22 +03:00
Sude
6b0a39774a Better handling of empty %platform% in Util::filepathReplaceReservedStrings 2014-10-11 02:40:29 +03:00
Sude
8e29866870 Append date to renamed files 2014-09-20 15:35:56 +03:00
Sude
5635909e20 Add support for setting subdirectories
Allows user to specify subdirectories for games, installers, extras, patches, language packs and dlc
2014-09-19 22:46:03 +03:00
Sude
810506b74b Create filepaths in gameDetails class
Add makeFilepaths method to gameDetails class
Add setFilepath and getFilepath methods to gameFile class
2014-09-19 21:08:46 +03:00
Sude
7a00b59345 Move gameFile and gameDetails classes to their own files 2014-09-19 20:23:21 +03:00