Witold Baryluk
591039eaf3
[cli] Use python3 shebang ( #622 )
...
Rational in PEP-394 fine print and reality of various distros
Details in https://github.com/derrod/legendary/issues/572
Closes: https://github.com/derrod/legendary/issues/572
2023-11-16 01:41:02 +01:00
Witold Baryluk
9131f32c22
[downloader] Avoid buffer copies in worker ( #621 )
...
This increases peek download speed from about 850MB/s to 960MB/s on my computer.
https://github.com/derrod/legendary/issues/620
2023-11-16 01:40:44 +01:00
derrod
450784283d
[cli/core/downloader] Add option to bind to IP(s)
2023-10-14 14:20:17 +02:00
Etaash Mathamsetty
c56a81ab64
[lfs] Allow setting config dir via LEGENDARY_CONFIG_PATH
env var ( #590 )
2023-10-14 12:51:14 +02:00
derrod
488d14c6e0
[cli] Fix list-files not working with empty install tag
2023-09-30 03:38:26 +02:00
derrod
4c765325af
[core] Ignore problematic app name
...
This is a test app that isn't used for anything,
but it will mess up Heroic if you also have the
GOG title with id "1" (Fallout Classic).
2023-09-30 03:32:34 +02:00
derrod
c6e622f3ae
[cli] Fix setting "disable_sdl" config option
...
These have to be strings, whoops.
2023-09-30 03:31:52 +02:00
Stelios Tsampas
013f7d4bde
[cli] Protect assignment when testing for install_tags
...
Fixes #608
2023-09-28 05:41:25 +02:00
Etaash Mathamsetty
03b21f49de
[cli] Use start.exe when launching a URI
2023-09-09 08:54:31 +02:00
Mathis Dröge
bd2e7ca0cd
[cli] Actually store user-provided prefix path
...
This was assigning to a local variable, only ever used in the `if` block
2023-08-10 14:46:48 +02:00
Stelios Tsampas
20b121bdb9
[cli] Write tags to config after successful verification
...
If a game has a `__required` SDL which is an empty string will fail verification
because the check for building the list of hashes will fail, implying that the
whole game including all the SDLs will be validated.
At the same time, if we are importing a game using a config file that doesn't
specify the `install_tags` for such a game, the install tags won't be saved
due to calling an early `exit(0)`.
These two issues combined can cause a verification, repair, verification loop.
This commit addresses both of those issues.
Related convertation on Discord:
https://discord.com/channels/695233346627698689/695234626582609940/1084939380713594924
2023-07-28 07:14:11 +02:00
derrod
b759d9dbb1
[core] Fix deadlock when clearing userdata in login
2023-07-27 13:12:10 +02:00
derrod
51377e8548
[cli] Fix info command for apps without custom attributes
2023-07-05 11:49:59 +02:00
derrod
07a16f7b84
[cli] Allow launching DLC if executable is set
2023-06-26 07:05:43 +02:00
derrod
c69301212c
Fix CI build missing filelock package
2023-06-18 05:08:56 +02:00
derrod
865dd51e2b
[cli] Fix and cleanup uninstaller wording/handling
...
Somebody made a little copy-paste mistake there...
2023-06-18 01:24:39 +02:00
derrod
6536473063
[cli] Support running uninstaller on Windows
2023-06-18 00:54:54 +02:00
derrod
6d7909c311
[core/models] Add uninstaller to game model
2023-06-18 00:39:11 +02:00
derrod
0e35b70941
[cli] Show uninstaller information in "info" command
2023-06-18 00:38:38 +02:00
derrod
e0428b497e
[core] Add EOS service warning
2023-06-18 00:28:55 +02:00
derrod
6500ea73af
Bump version
2023-06-18 00:12:43 +02:00
derrod
96b155800a
[downloader] Check if files exist before running analysis
...
This allows additional SDL tags to be installed without going through a repair.
It will also now redownload deleted files if there's an update rather than just
trusting what the old manifest says should be installed locally.
2023-06-18 00:11:59 +02:00
derrod
4145381b93
[cli/core/lfs] Add slightly janky lock for installed game data
...
In order to prevent multiple instances of Legendary mucking with installed game data
acquire a lock as soon as it is required and only release it (implicitly) when
Legendary exits.
This is a bit jank, but should prevent people from messing up their local data by
running two install commands at a time.
EGL sync is technically also affected by this, but in its case we simply skip the
sync/import/export and leave it to the next instance with a lock to do.
2023-06-17 23:46:52 +02:00
derrod
e26b9e60ff
[core/lfs] Use filelock for user data
...
Closes #566
Co-authored-by: Mathis Dröge <mathis.droege@ewe.net>
2023-06-17 22:58:16 +02:00
Mathis Dröge
bdd53fb8f8
[cli] Search for game executable case-insensitively
2023-06-17 21:32:45 +02:00
derrod
bbb19d6cb6
[cli] Update version even if no files changed
...
This happens mostly with DLCs that get version bumps with no file changes.
2023-06-17 21:31:12 +02:00
derrod
175168adcb
[utils] Fix cloud save pattern matching to align with EGL
...
Match the pattern as a suffix, this is valid to catch all files with
that exact name in a directory.
2023-06-17 20:24:40 +02:00
derrod
8b2809779f
[cli] Set non-tty output encoding to UTF-8
...
Closes #551 and #554
2023-05-28 00:16:21 +02:00
derrod
4bed49e7e1
[core] Ignore KeyError when updating game info
...
The retry logic may attempt to update metadata for an asset for
a different platform. This can cause an exception if it's not
also in the "still_needs_update" set.
2023-05-28 00:08:39 +02:00
derrod
f97d799e87
[cli] Fix list_saves crash if game metadata is missing
2023-05-14 02:17:29 +02:00
derrod
09d39b3fe3
[cli] Only fetch save games for specified appname (if any) on sync
2023-05-14 02:17:02 +02:00
derrod
a70ac2d1f9
[cli] Fix info not displaying install information
...
DLC would overwrite the app name and break the check for the installed game.
2023-05-04 13:28:46 +02:00
Mathis Dröge
362287543b
.github: Update GH actions & specify Python version as dependency ( #537 )
...
* Update actions
* Use fpm instead of stdeb
* Specify python3 as a dependency
Let's hope we can soon auto-update this version number
2023-01-25 10:23:27 +01:00
derrod
ae05b4c1e5
Bump version
2023-01-05 17:30:27 +01:00
derrod
6b8273f983
[core] Strip name of game installation folder
...
Thanks Kerbal Space Program for having an invalid
directory name as your set folder!
2023-01-05 17:28:32 +01:00
derrod
00f025dcc9
[core] Add timeout and dumb exception handler to manifest download
2022-12-15 13:23:17 +01:00
derrod
87b01b77d8
[api] Handle "corrective action" errors on login
2022-12-14 16:16:21 +01:00
derrod
f19a1ba69d
[api] Log 4XX login responses without 'error' property
2022-12-13 17:01:15 +01:00
derrod
c8a6e68bf4
Bump version
2022-11-06 17:28:22 +01:00
derrod
2ed9557b2c
[cli] Add --accept-path flag to automatically use computed save path
2022-11-06 17:26:47 +01:00
derrod
da23690510
.github: Remove unnecessary dependency
2022-11-06 17:17:53 +01:00
derrod
c3eb6b4fe6
[core/utils] Respect include/exclude filter when deleting save data
...
Not doing this would result in some titles that save their save data in
the install directory having their game data deleted...
Fixes #497
2022-11-06 17:14:02 +01:00
derrod
032b7fc64f
.github: Add icon file for Windows binaries
2022-11-04 16:15:46 +01:00
derrod
29086276ee
.github: Drop ubuntu 20.04 from DEB build
2022-11-04 16:12:54 +01:00
derrod
4c99bf8987
setup.py: Bump minimum python version to 3.9
2022-11-04 14:54:30 +01:00
derrod
6709e8aa4f
[api] Use dedicated graphql host
2022-11-03 09:23:59 +01:00
derrod
4722e38081
README: Remove note about 3.8 compatibility
...
As of 0.20.30 Legendary uses 3.9+ features (| for dicts).
2022-11-01 20:18:34 +01:00
derrod
2ffd183554
[core] Add note about difference to EGL save path resolver
2022-10-31 12:31:49 +01:00
derrod
d59e973816
Bump Version (hotfix #4 )
2022-10-26 18:31:43 +02:00
derrod
f80ceb50f3
[utils] Fix webview login on Windows
2022-10-26 18:25:44 +02:00