Commit Graph

387 Commits

Author SHA1 Message Date
Sude
60fb4db339 Add DLC language packs to orphan check
Forgot to add DLC language packs to Downloader::checkOrphans in ff2264763e
2016-06-01 14:25:05 +03:00
Sude
ff2264763e Add support for DLC language packs 2016-06-01 14:17:55 +03:00
Sude
4f5300be75 Delete file on failed download
File is deleted if the download wasn't a resume attempt or the result is zero length file
2016-05-30 14:54:57 +03:00
Sude
442fad04db Add support for parallel downloads
New option "--threads" can be used to set how many parallel downloads to run. The default is 4 threads.

Changes to behavior:
- Serials and changelogs are saved and covers downloaded for all games that match the "--game" filter before any other files are downloaded.
- Automatic XML creation is run after all files are downloaded. Previously xml data was automatically created right after download finished.
- The "--limit-rate" option sets rate limit for thread not global rate limit.
2016-05-20 20:33:07 +03:00
Sude
b7846e8bd5 Show progress for getting game names from account page 2016-05-20 12:25:29 +03:00
Sude
06fd4d496c Fix issue caused by 730c1ffe58
Util::getFileHash was called instead of Util::getLocalFileHash
This caused librhash error for files that didn't exist
2016-05-20 10:13:20 +03:00
Sude
730c1ffe58 Move code from Downloader::getLocalFileHash to Util::getLocalFileHash 2016-05-18 14:11:37 +03:00
Ferdinand Thiessen
c83f6294ab Ported code to use tinyxml2 instead of tinyxml 2016-05-13 14:37:02 +02:00
Sude
112ad17e18 Drop support for libcurl < 7.32.0 2016-05-03 16:48:54 +03:00
Sude
037582d3b1 Progressbar: add function to get bar as string 2016-04-27 20:47:15 +03:00
Sude
3fe58a06a1 Fix downloading language packs with file id 2016-04-26 18:22:34 +03:00
Sude
7b1127a85e Use CURLOPT_XFERINFOFUNCTION instead of obsolete CURLOPT_PROGRESSFUNCTION
CURLOPT_XFERINFOFUNCTION was introduced in libcurl 7.32.0
Newer libcurl prefers the new callback even if both CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION are set. Therefore we can still support older versions libcurl.
2016-04-25 19:26:02 +03:00
Sude
51026efec0 Fix issue with cache update
Fixes an issue caused by 33fb004cdd
Website handle didn't have updated config which caused overridden values to be ignored
2016-04-25 18:20:00 +03:00
Sude
5bfb00bb31 Changed gameFile format and gamedetails cache format
gameFile now contains gamename and file type info
Game details cache format has been changed to match gameFile changes
Cache also has a new "gamedetails-cache-version" field that can be used to detect cache format changes
2016-04-25 18:14:04 +03:00
Sude
2538825fb2 Add missing WTFPL license text to gameDetails and gameFile classes 2016-04-18 20:39:31 +03:00
Sude
33fb004cdd Move GOG website related members of Downloader class to new Website class
Downloader::HTTP_Login --> Website::Login
Downloader::getGames --> Website::getGames
Downloader::getFreeGames --> Website::getFreeGames
Downloader::getGameDetailsJSON --> Website::getGameDetailsJSON
Getting wishlist details is split from Downloader::showWishlist to Website::getWishlistItems function
2016-04-18 20:33:19 +03:00
Sude
519cb78d38 Fix compiling with JsonCpp 1.7.1 2016-03-25 23:09:17 +02:00
Sude
0be499db7f Add support for two-step login 2016-03-12 09:30:43 +02:00
Sude
987e053ad4 Add option to save changelogs 2016-03-06 15:45:22 +02:00
Sude
852cb563ba Reduce the amount HTTP requests
Save game details json for later use when DLC info is downloaded in Downloader::getGames.
This reduces the amount of HTTP requests because we don't need to download the info again in Downloader::getGameDetails.
2016-03-06 14:02:30 +02:00
Sude
173481a6f6 Make --update-cache ignore dlc count information 2016-03-06 13:20:04 +02:00
Sude
ca97148827 Make sure that file exists before trying to automatically create xml data in Downloader::getLocalFileHash 2016-02-29 03:15:53 +02:00
Sude
21555b19f3 Fix --subdir-patches option
Forgot to set default subdirectory for patches in 4d4aaa1792
2016-02-24 01:58:03 +02:00
Thomas J. Moore
f29cf99431 Automatically create XML files (MD5sum cache) for manually downloaded
files during status check if automatic creation enabled.
2016-02-20 15:01:00 -06:00
Thomas J. Moore
9520f3f3b7 Improvements to orphan detection:
- blacklist applies to installed files only; use ignorelist for orphans
  - blacklisted but present items are orphans, as they should be
  - use exact matching for file paths: files in wrong location are orphans
2016-02-20 14:59:52 -06:00
Thomas J. Moore
d9697ea988 Apply blacklist to status checker to avoid some spurious ND messages 2016-02-20 14:57:34 -06:00
Thomas J. Moore
c0735d5993 Use cerr for password prompts, error messages, rolling status
messages, and other stuff that shouldn't clutter saved stdout.
Probably needs more work.
2016-02-20 14:56:44 -06:00
Sude
0de2a9f64b Add support for priority in game specific language and platform options 2016-02-20 15:34:51 +02:00
Sude
4d4aaa1792 Improve game specific config options
"platform" and "language" options allow using string to set them.
This allows user to set them more easily without needing to calculate the sum of integer values and makes the config easier to understand later.
For example: this allows setting "language" to English, German and French with "en+de+fr" which is much easier to understand than setting it to "7".

Directory options can be overridden using game specific config file
New options in game specific config file:
 - "subdirectories" - <bool>
 - "directory" - <string>
 - "subdir-game" - <string>
 - "subdir-installers" - <string>
 - "subdir-extras" - <string>
 - "subdir-patches" - <string>
 - "subdir-language-packs" - <string>
 - "subdir-dlc" - <string>
2016-02-15 14:27:29 +02:00
Sude
fc88679b12 Add option to set automatic XML creation in config file 2016-02-04 11:51:11 +02:00
Sude
ddbb5d07cc Fix priority handling for DLCs 2015-10-03 19:52:19 +03:00
Sude
d648d3a073 Add Util::getOptionNameString to reduce some duplicate code 2015-10-03 19:03:24 +03:00
Sude
ba27e4fbcc Add version string and number to cached game details 2015-10-03 19:00:51 +03:00
Stephen Kitt
574a315c44 Check that stdin is a tty before reading
If stdin isn't a tty, the behaviour of std::getline(std::cin, email) and getpass() is different (the latter always uses /dev/tty). If input is redirected, it's probably best to just fail.
2015-09-13 15:15:21 +02:00
Sude
16b14d091b Simplify "all" value calculation to make it easier to understand
No idea why I was shifting 2 instead of 1 here.
2015-09-03 12:42:00 +03:00
Sude
d8c66707cc Fix retry on timeout
Don't delete the file on timeout
2015-09-02 16:11:03 +03:00
Sude
b4fd9fcf5c Use regular expressions for getting language and platform option values
Selecting languages with --language and --language-priority
- Whatever code GOG happens to use in their API (mostly ISO 639-1)
- ISO 639-1
- ISO 639-2/T
- ISO 639-2/B
- English name

Selecting platforms with --platform and --platform-priority
- Windows: "w, win, windows"
- Linux: "l, lin, linux"
- Mac: "m, mac, osx"
2015-09-02 11:16:00 +03:00
Sude
2206e988a6 Initial support for using platform/language strings to set options 2015-09-01 14:45:34 +03:00
Sude
9b560d786e Some minor code cleanup 2015-09-01 13:59:54 +03:00
Sude
887ac52563 Some improvements to priority handling
Fixes issues with some strings that caused issues previously
For example: 4,,1 is now handled correctly
2015-08-29 16:18:20 +03:00
Sude
a8e09a7f48 Use same structure for language and platform structs 2015-08-29 15:03:20 +03:00
Sude
2473b6f24d Remove tarball specific code from API 2015-08-29 14:31:59 +03:00
Sude
06d211f534 Simplify and remove duplicate code for getting config directory paths 2015-08-29 14:26:36 +03:00
Sude
b6d07f5343 Merge branch 'outname' of https://github.com/bwrsandman/lgogdownloader 2015-08-15 07:56:53 +03:00
Sandy Carter
bc92655702 Add output filename option
Add -o option to specify path and downloaded file name when using
--download-file
Overrides --directory
2015-08-14 23:15:15 -04:00
Sandy Carter
fe314869c1 Factor out protol string as a constant 2015-08-14 21:09:27 -04:00
Sude
ceef80167c Add support to ignore dlc count using game specific config with --list 2015-08-12 17:01:15 +03:00
Sude
64cae133cf Change path to look for game specific config files
Old path: $XDG_CONFIG_HOME/lgogdownloader/gamename.conf
New path: $XDG_CONFIG_HOME/lgogdownloader/gamespecific/gamename.conf
2015-08-12 16:53:25 +03:00
Sude
374453b806 Detect reCAPTCHA on login form 2015-08-12 16:47:17 +03:00
Sude
f51cca5dff Add options to login separately to website and API 2015-08-12 16:42:54 +03:00
Sude
9db2b8f2b0 Use getFormattedErrorMessages instead of deprecated getFormatedErrorMessages 2015-07-06 06:59:54 +03:00
Sude
6e5a0870e8 Delete old cookies when using --login 2015-07-06 06:47:09 +03:00
Erik Fleischer
fb23318d5a Fix --repair on 32 bit platforms for files > 2 GB. 2015-07-05 19:23:11 +02:00
Erik Fleischer
7e8f707846 Fixed segmentation fault on startup on 32 bit platforms.
Fixed downloading files > 2GB on 32 bit systems.
2015-07-05 15:50:16 +02:00
Erik Fleischer
0d73445e28 Some more small changes to handle files > 2GB on 32bit platforms. 2015-07-04 20:22:08 +02:00
Erik Fleischer
23df30d7be Continued replacing size_t with uintmax_t in order to handle file larger than 2GB on 32 bit platforms. 2015-07-03 22:09:50 +02:00
Erik Fleischer
095492942e Replaced size_t with uintmax_t for file size data types. 2015-07-02 18:27:28 +02:00
Sude
3f7fbc5bd1 Show DLC gamename instead of base gamename in --status output for DLCs 2015-07-02 03:04:04 +03:00
Sude
64690d0368 Add status code for file size mismatch 2015-07-02 03:01:21 +03:00
Sude
84e8ab8dab Tell user to try --login if JSON parsing fails in Downloader::getGames 2015-07-01 04:03:27 +03:00
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 fb6c4496a5.
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
Sude
4d404fc7df Rename old file instead of deleting it during --repair --download 2014-09-17 13:05:04 +03:00
Sude
7a15a93676 Change --report option to allow setting the filename of report 2014-09-17 12:41:01 +03:00
Neil Ramsbottom
1097e0758d Fixed spelling mistake in message displayed when downloading files. 2014-09-17 01:53:44 +02:00
Sude
55bc881d11 File hashing changes to Util::createXML
Update file hash in the same loop that chunk hashes are calculated
This gives the user better indication of the hashing progress
2014-09-10 16:16:04 +03:00
Sude
cba5fb928a Make Downloader::HTTP_Login print some more info 2014-09-10 13:46:24 +03:00
Sude
b23c9ed27d Only list games that support the platforms specified with --platform 2014-09-07 23:53:26 +03:00
Sude
0d39bcb460 Add platform info to gameFile class 2014-09-07 23:09:08 +03:00
Sude
6ebd897866 Fix login issues caused by case sensitivity 2014-09-04 20:00:53 +03:00
Sude
a5b1840e4d Better login check
Allows user to login with username instead of email
Print some info on failed login with debug build
2014-09-04 18:11:14 +03:00
Sude
cd2d1f22f8 Added --cover-list option to set url for cover list 2014-08-28 16:00:24 +03:00
Sude
0a20ef9ee7 Use remote xml data for patches 2014-08-28 12:51:02 +03:00
Sude
17dffe10f3 Fix language check for patches in Downloader::listGames 2014-08-27 20:22:05 +03:00
Sude
d63598a142 Make downloader work with the new layout 2014-08-27 19:57:20 +03:00
Sude
a51fb3ea26 Use boost regex in api if gcc/g++ < 4.9.0 2014-08-21 17:17:34 +03:00
Sude
6eba3c76cc Use update/notification flags for patches 2014-08-18 07:47:52 +03:00
Sude
1d221fee9f Add blacklist support for --list-details 2014-08-13 02:41:15 +03:00
Sude
a3673a58a4 Use regex to find patch and language pack nodes in API response 2014-08-09 19:15:51 +03:00
Sude
ffab972430 Increased the maximum patch id number
Some games had patch id numbers that were higher than the current maximum
2014-08-09 04:32:46 +03:00
Sude
705bde3f6f Add support for some game specific settings 2014-08-01 20:34:44 +03:00
Sude
4582884a0d Fix blacklisted file causing downloader to skip a game
Incorrect check for blacklisted file caused the downloader to skip a game instead of skipping just one file
2014-07-24 18:07:14 +03:00
Sude
6ed5da2fb3 Treat tarball archives in patch nodes as installers 2014-07-24 16:49:02 +03:00
Sude
01d8479d18 Remove the ugly hack to get details for Linux installers
GOG fixed API response for Linux installers
2014-07-24 16:00:50 +03:00
Sude
630d8a31c3 Add support for Linux installers 2014-07-24 15:36:50 +03:00
Sude
42a461ed55 Get patch details only for specified platforms 2014-07-12 00:36:04 +03:00
Sude
31c547be8a Fix saving config when init fails but --login was not used 2014-07-07 15:57:07 +03:00
Sude
ce26a4b020 Don't reset options set in config file on --login 2014-07-06 17:20:06 +03:00
Sude
2aeca35097 Tell the user to try --login if no games are found on the account. 2014-07-04 16:31:30 +03:00
Sude
c1e7adeb0b Display filepath for patches when downloading
Makes the behavior consistent with installers and extras
2014-07-03 21:38:53 +03:00
Petr Běhan
95fd2bbff1 implemented blacklist for --download, --repair and --check-orphans 2014-07-02 19:56:18 +03:00
Sude
3dd4a95896 Make login work with the new login form 2014-07-02 19:52:43 +03:00
Ismo Toijala
526aab5c05 Don't hash files after downloading for which remote XML is available 2014-06-21 16:00:36 +02:00
Sude
ebb9aa61d4 Remove language id/code from urls as GOG no longer requires it. 2014-06-19 00:31:09 +03:00
Sude
23ded13050 Don't call usleep if it's not necessary 2014-06-10 12:55:38 +03:00
Sude
f25c37074a Added --wait option to set delay for http requests
May help with some errors that could be caused by too many requests in short time
2014-06-10 12:16:49 +03:00
Sude
dee83494c0 Make subdirectory for dlc based on the dlc gamename
gamename/dlc/dlc_gamename
2014-06-10 12:05:13 +03:00
Sude
5829f98a3b Added retry support to Downloader::getResponse 2014-06-10 12:01:28 +03:00
Ismo Toijala
6a5fe0b78e Only hash file if remote XML is available 2014-05-08 19:29:16 +03:00
Ismo Toijala
caacff9f22 Use remote XML for languagepacks 2014-05-08 18:07:33 +02:00
Sude
d591f08acd Fix using local xml for hashes in Downloader::downloadFile 2014-04-20 21:35:05 +03:00
Sude
c140156216 Check orphans regex matches the file path instead of filename 2014-04-18 20:09:22 +03:00
Sude
78fe112e5e Use secure.gog.com to get "buk" value for login form 2014-04-14 15:27:23 +03:00
Sude
e491c06780 Print more verbose error message in Downloader::getResponse 2014-04-14 00:37:57 +03:00
Sude
018a056e73 Possible fix for login issues 2014-04-13 23:07:22 +03:00
Geoffrey Biggs
da80d9c4c9 Fixed segfault when downloading non-dlc patches 2014-04-08 06:40:05 +09:00
Sude
50cc5a2565 Added DLC support 2014-03-29 01:51:39 +02:00
Sude
8435fb2566 Use duplicate handler for patches 2014-03-18 18:43:53 +02:00
Sude
8f5ef9a7a6 Urldecode extra links before getting pathname from links
Some extras had spaces in filename. This caused url encoded character %20 to be used instead of space in filenames.
2014-03-17 10:25:08 +02:00
Sude
fd5d9a4b43 More integer overflow fixes in Util::createXML 2014-02-28 03:03:35 +02:00
Sude
d31613dee7 Fix integer overflow when creating xml data
TiXmlElement::SetAttribute casted "size_t" to "int" which caused it to overflow
2014-02-27 11:52:39 +02:00
Sude
8115e591ca Fix wrong condition in f671834 2014-02-26 15:34:31 +02:00
Sude
c70a6c3775 Save xml data to subdirectories
$XDG_CACHE_HOME/lgogdownloader/xml/gamename/filename.xml
Fixes problem with some games using same filenames for extras
2014-02-26 15:04:16 +02:00
Sude
f671834068 Retry failed/partially downloaded files
Added --retries option to set maximum number of retries
2014-02-26 14:59:23 +02:00
Sude
3f7669a775 Added --no-subdirectories option 2014-02-23 03:16:10 +02:00
Sude
66bd53b714 Possible fix for some extras having wrong path names
(for example: URL as path or NUL bytes in path)
2014-02-17 16:49:29 +02:00
Sude
cae29a1c1d Add XDG Base Directory Specification support to Util::createXML
I forgot to change Util::createXML in d430af6
2014-02-17 14:26:12 +02:00
Sude
1c26af48d2 Use subdirectories for extras, patches and languagepacks
The simple extras detection in Util::makeFilePath is replaced with argument for setting subdirectory
2014-02-17 14:19:40 +02:00
Sude
cfe4311209 Save to log after each file instead of waiting until destructor is called 2014-02-13 11:16:31 +02:00
Sude
9dda0fccdc Added --report option 2014-02-13 10:05:16 +02:00
Sude
44220211d5 Fix segfault in cover download 2014-02-03 19:10:02 +02:00
Sude
b59210c251 Changed --check-orphans to set regular expression filter for orphan check.
If no argument is given then the regex defaults to '.*\.(zip|exe|bin|dmg|old)$'
2013-12-22 13:02:48 +02:00
Sude
b49c12b88c Fix automatic xml creation in Downloader::repairFile 2013-12-14 14:24:52 +02:00
Sude
d912a09b2b More changes to Downloader::repairFile 2013-12-12 14:21:43 +02:00
Sude
b0f157c710 Some changes to Downloader::repairFile 2013-12-12 11:01:25 +02:00
Sude
65f407d076 Close the file on memory and read error in Downloader::repairFile 2013-12-11 10:38:32 +02:00
Sude
388ea9e038 Call Downloader::getGameDetails() from the functions that need it instead of using conditions in Downloader::getGameList() 2013-11-26 12:59:42 +02:00
Sude
8d690a920e Simplify output of update check 2013-11-26 12:31:20 +02:00
Sude
6b4010d9c5 Changed all remaining "negative" variables to "positive" in config.h
Code was becoming really confusing with all the double negatives in conditions, for example: if(!bNoInstallers)
Added some comments to code
2013-11-19 12:47:10 +02:00
Sude
c4585d3d61 API change: added duplicate handler for installers
API::getGameDetails now has a parameter to enable duplicate handling (default: false)
The duplicate handler applies a language id flag on the original installer so it shows support for multiple languages

Downloader uses duplicate handler by default
Added --no-duplicate-handling option to disable duplicate handler
2013-11-18 13:28:27 +02:00
Sude
1cd79a2292 Sort by title when using "--game free" 2013-11-17 11:01:35 +02:00
Sude
35e64bbe1e Change url for cover xml data 2013-11-14 15:52:14 +02:00
Sude
0d9c27d20a Added --status command and made createXML output easier to read
Version check before download now works without local XML data. However it is much slower without the XML data because it calculates MD5 for the files

Some changes to config.h
- Removed "bHelp" from config because it was not needed
- Changed "bNoColor" to "bColor"
- Changed "bNoUnicode" to "bUnicode"
2013-11-14 15:40:59 +02:00
Sude
1173aff367 Fix bug in Downloader::HTTP_Login 2013-11-02 21:10:01 +02:00
Sude
359df14b4a Fix login bug 2013-10-20 02:20:04 +03:00
Sude
f2794ededf Added --check-orphans to check for orphaned files
Checks for orphaned files (files found on local filesystem that are not found on GOG servers) and prints their path
2013-10-14 22:31:12 +03:00
Sude
34236e3774 Don't try to get extras from account page if --no-extras is used 2013-10-13 12:53:44 +03:00
Sude
08b0e10429 API changes: preliminary support for the new "silent" flag 2013-10-13 12:21:14 +03:00
Sude
eb0208fffa API changes: "#updated" flag is replaced by "notificated" flag 2013-10-13 12:16:25 +03:00
Sude
2a253f6357 Get details about game extras from account page 2013-10-13 11:55:46 +03:00
Sude
a183bb59e6 Allow automatic xml creation durring --repair --download 2013-09-04 21:03:43 +03:00
Sude
e6994d7f5f Fix for downloading missing files with --repair --download without xml data 2013-09-04 20:52:22 +03:00
Sude
c9668c66d2 Fix listing/downloading free games using "--game free" 2013-09-04 19:58:03 +03:00
Sude
795a131c15 Show download rate in MB/s when it exceeds 1MB/s 2013-08-27 10:01:04 +03:00
Sude
fe238a2959 Added support for language packs and improved patch detection 2013-08-09 23:14:10 +03:00
Sude
e0a238b587 Fix crash caused by a change in API response for patches
Also fixes a bug that caused some patches to be ignored (patch file number was not reset after while loop that increased it)
2013-08-09 18:29:39 +03:00
Sude
b73a095f5f Move the API constants from GlobalConstants to API as private members 2013-08-02 16:18:55 +03:00
Sude
7d24c589d2 Download missing files when repairing with --repair --download 2013-07-01 16:57:55 +03:00
Sude
b3792554bf Added curlSetOpt() method to API for setting curl options 2013-06-28 16:06:08 +03:00
Sude
9f715aa2d1 Enable --limit-rate for 32-bit systems 2013-06-28 15:49:00 +03:00
Sude
fe70090b74 Added --timeout option to set timeout for connection phase 2013-06-10 15:15:08 +03:00
Sude
b1db888094 Version 2.6 2013-06-08 00:51:30 +03:00