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
derrod
cf22de2bcf
[models] Improve manifest serialisation support
...
Manifests up to version 21 can now be serialised with all
new features enabled.*
*SHA256 hash of EGL and Legendary serialised manifest matched,
but new features weren't used yet, so at empty placeholder data
works correctly.
2022-10-26 15:17:33 +02:00
derrod
ddb7e1c3ca
[models] Add support for Manifest version 21
...
This adds an uninstall "action". As yet unused.
Not sure if the order is correct, we'll have to see.
(Legendary won't support it until Epic does anyway)
2022-10-26 15:16:25 +02:00
derrod
36e6e5f08a
[core/models] Make manifest merge part of Manifest class
2022-10-25 15:46:34 +02:00
derrod
0e23b8e4f0
Cherry-pick some Sourcery refactoring suggestions
2022-10-25 15:38:55 +02:00
derrod
85f6bd3220
Move some files from utils to more sensible locations
2022-10-25 15:14:26 +02:00
derrod
9e5fbaf21a
[api] Fix Ticket based manifest URL retrieval
...
Based on latest EOS Helper service implementation.
Works when using the helper's credentials to create an
anonymous session.
2022-10-24 23:35:02 +02:00
derrod
ecb405172b
[core] Fix incompatible DLCs being returned
2022-10-23 14:46:31 +02:00
derrod
c053860f25
.github: Build separate 22.04 and 20.04 .deb file
...
20.04 deb without webview since the webview one is experimental.
2022-09-16 13:17:47 +02:00
derrod
3ab31561bf
Bump version
2022-09-16 13:10:43 +02:00
derrod
66ef0f3d5e
[cli] Remove redundant conditional
2022-09-16 13:10:34 +02:00
derrod
c0d67882bb
[utils] Replace some instances of time() with perf_counter()
...
In these cases only relative time is important, and sufficiently
fast computers could run into zero division errors.
2022-09-16 13:09:39 +02:00
derrod
338fef2fac
[api] Pin store user-agent until better solution is found
...
For some reason using a newer version gives users a Cloudflare error page.
That is of course not possible to resolve in this context, and until I can
figure out a better way to solve this, we'll just use an old version that
does still work.
2022-09-16 12:56:53 +02:00
derrod
075f446add
.github: Try building deb on 22.04 with webview
2022-09-11 16:48:58 +02:00
Mathis Dröge
0eec8472a4
[core] Try all manifest URLs until one works
...
Co-authored-by: derrod <xlnedder@gmail.com>
2022-09-11 16:33:49 +02:00
Mathis Dröge
abd3a9d496
[core] Save path resolution: Fallback to reading wine prefix from env vars
...
This is mainly something for Heroic, since we don't touch config.ini
2022-09-01 02:35:13 +02:00
derrod
53e2accbb0
[api] Add helper to get auth URL
...
Not currently used, may be useful in the future.
2022-09-01 02:28:40 +02:00
derrod
e111ae56fc
Bump version
2022-09-01 02:25:23 +02:00
derrod
88d30322b5
Update README
2022-09-01 02:25:09 +02:00
derrod
b136748168
[core/cli/api] Use authorization code for login
...
This still seems to work.
Fixes #468
2022-09-01 02:23:38 +02:00
derrod
5a20f12461
[cli/utils] Fix webview login on Windows
...
Now using exchange code every time!
2022-09-01 02:00:35 +02:00
derrod
f26c8ab0a1
[core] Change locale env variable order
...
Fixes #457
2022-07-21 18:25:06 +02:00