Commit Graph

54 Commits

Author SHA1 Message Date
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
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
7a15a93676 Change --report option to allow setting the filename of report 2014-09-17 12:41:01 +03:00
Sude
0d39bcb460 Add platform info to gameFile class 2014-09-07 23:09:08 +03:00
Sude
cd2d1f22f8 Added --cover-list option to set url for cover list 2014-08-28 16:00:24 +03:00
Sude
705bde3f6f Add support for some game specific settings 2014-08-01 20:34:44 +03:00
Sude
5102f812a4 Make sure that large file support is enabled on 32 bit systems 2014-08-01 20:32:29 +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
5b879190fe Forgot to rename function argument in api.h 2014-07-24 15:50:53 +03:00
Sude
630d8a31c3 Add support for Linux installers 2014-07-24 15:36:50 +03:00
Sude
31c547be8a Fix saving config when init fails but --login was not used 2014-07-07 15:57:07 +03:00
Petr Běhan
95fd2bbff1 implemented blacklist for --download, --repair and --check-orphans 2014-07-02 19:56:18 +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
50cc5a2565 Added DLC support 2014-03-29 01:51:39 +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
c70356bf49 Include <sys/time.h> in api.h
Fixes compiling in some environments that didn't automatically include sys/time.h
2014-02-20 10:13:03 +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
83e9954579 Added support for more installer languages and language packs
Dutch, Swedish, Norwegian, Danish and Finnish
2014-02-06 09:57:37 +02:00
Sude
3b4def2ebe Add support for setting default options in config file
Added --save-config and --reset-config options
2014-02-03 19:28:48 +02:00
Sude
1238f54143 Remove environment check because it's not used for anything 2014-01-05 16:04:23 +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
d430af63d0 Support XDG Base Directory Specification
Configuration files and cookies are now stored in "$XDG_CONFIG_HOME/lgogdownloader"
if $XDG_CONFIG_HOME is not set it will use "$HOME/.config/lgogdownloader"

XML files are now stored in "$XDG_CACHE_HOME/lgogdownloader/xml"
if $XDG_CACHE_HOME is not set it will use "$HOME/.cache/lgogdownloader/xml"
2013-12-11 11:27:53 +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
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
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
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
fe238a2959 Added support for language packs and improved patch detection 2013-08-09 23:14:10 +03:00
Sude
b73a095f5f Move the API constants from GlobalConstants to API as private members 2013-08-02 16:18:55 +03:00
Sude
c5d8665593 Added support for Portuguese and Korean installers 2013-08-02 16:03:06 +03:00
Sude
b3792554bf Added curlSetOpt() method to API for setting curl options 2013-06-28 16:06:08 +03:00
Sude
fe70090b74 Added --timeout option to set timeout for connection phase 2013-06-10 15:15:08 +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
e27c585ed7 Verify authenticity of SSL certificates by default
Added option --unsecure to disable authenticity verification
2013-04-25 12:05:17 +03:00
Sude
8b0de12fe4 Forgot to change a comment in 9ee5f75 2013-04-25 10:56:53 +03:00
Sude
9ee5f75bfb Rename global constants to better describe what they mean 2013-04-25 10:48:10 +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
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