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
Sude
f1a138e6bf
Simplify code by using std::to_string
2013-06-08 00:32:31 +03:00
Sude
d8272e30f8
Set some curl options in Downloader::init()
...
Removes some duplicate code
Downloader::getResponse restores write function to Downloader::writeData
2013-06-08 00:25:48 +03:00
Sude
eed1845428
Detect errors on login
2013-06-01 17:22:37 +03:00
Sude
f3ba069f50
Don't try to list extras if there aren't any
2013-05-23 22:01:57 +03:00
Sude
5b2c4ae00a
Minor code cleanup, use std::to_string instead of stringstream
2013-05-23 16:04:31 +03:00
Sude
f11ff9e7e4
Added support for downloading patches
2013-05-15 01:28:37 +03:00
Sude
7a9dd503a1
Made API config private member
2013-05-04 19:46:42 +03:00
Sude
bc787e5f6c
Some code cleanup for repairFile function
2013-04-29 11:06:15 +03:00
Sude
01430a5735
Code and comment cleanup
2013-04-28 18:46:37 +03:00
Sude
e27c585ed7
Verify authenticity of SSL certificates by default
...
Added option --unsecure to disable authenticity verification
2013-04-25 12:05:17 +03:00
Sude
9ee5f75bfb
Rename global constants to better describe what they mean
2013-04-25 10:48:10 +03:00
Sude
1593c58a01
Add trailing slash to API urls
2013-04-24 14:39:00 +03:00
Sude
d4db79e783
Added version detection before resuming download
...
Tries to detect if remote file is different from local file before resuming
Remote XML data is saved when download is started
2013-04-08 13:43:11 +03:00
Sude
9d59b8f5cf
Always close file in repair
2013-04-06 19:35:20 +03:00
Sude
cfbc61d1f7
Formatting changes to repair
2013-04-06 05:50:44 +03:00
Sude
f3f26d4da3
Added redownload option to repair.
2013-04-05 21:19:03 +03:00
Sude
55134979fb
Update the url for WTFPL license
2013-03-24 23:56:57 +02:00
Sude
e2253ebeca
Partially revert "Add language to installer path if it is missing"
...
Reverts some changes from 97e948abb4
.
Revert automatically adding the language code to filename:
http://gog.com/forum/general/introducing_the_beta_release_of_the_new_gogcom_downloader/post1483
Keep language in gameFile class because it may be useful later.
2013-03-24 00:23:40 +02:00
Sude
3131b00589
Use global constants to simplify adding support for more languages/platforms
2013-03-23 20:12:49 +02:00
Sude
c40b4d96fe
Added support for more languages
...
Chinese, Czech, Spanish, Hungarian, Italian, Japanese and Turkish
2013-03-23 16:07:42 +02:00
Sude
97e948abb4
Add language to installer path if it is missing
2013-03-23 15:42:09 +02:00
Sude
fab2ab5b94
whitespace fix
2013-03-16 23:35:57 +02:00
Sude
5ad708e5b6
Use the new "#name" variable in the API for installers
2013-03-16 23:21:01 +02:00
Sude
6aa24207c3
--verbose now also sets curlhandle in API to verbose
2013-03-16 22:33:03 +02:00
Sude
57415af1c1
increase the connection timeout to 10 seconds in API
2013-03-16 22:22:05 +02:00
Sude
dab6bd937e
allow only 1 redirect when POSTing login info
2013-03-16 21:48:52 +02:00
Sude
53f82e5c96
inform the user if login was successful
2013-03-16 21:16:58 +02:00
Sude
8e1c6f81e4
return from Downloader::init() immediately after login
2013-03-16 21:04:55 +02:00
Sude
dd35019c45
Increase connection timeout to 10 seconds.
...
Don't convert POST requests into GET requests when following redirects (respect RFC 2616/10.3.2)
2013-03-16 20:48:35 +02:00
Sude
7bd77a7dfe
Don't list extras when doing update check
2013-03-16 05:00:55 +02:00
Sude
2e2e87a76b
Fix bug in update check and fix cover download condition
2013-03-16 04:56:32 +02:00
Sude
25055a03c8
add game details only once to the list of games when doing update check
2013-03-16 04:08:30 +02:00
Sude
97273e8747
Fixed a typo that caused update flag to be set true for all installers
2013-03-16 03:47:38 +02:00
Sude
580f080aaf
Show update status for installers when listing details
2013-03-16 03:41:55 +02:00
Sude
14432fb9aa
Added listing and automatically downloading updated files
2013-03-16 03:20:16 +02:00
Sude
90c0b2be79
Use static memory allocation for extras and installers in gameDetails
2013-03-15 23:33:53 +02:00
Sude
2d045c4052
Initial commit
2013-03-15 22:46:16 +02:00