derrod
eb8bc3713b
[cli] Rename --include-non-installable to -T/--third-party
2021-12-06 19:31:39 +01:00
derrod
9d18ef03fa
[cli/core/models] Add property for partner link id/type
2021-12-06 18:10:30 +01:00
derrod
4dd495e2f5
[cli] Add aliases for --uplay
2021-12-06 13:20:48 +01:00
derrod
8c50f051a7
Bump version
2021-12-03 23:02:12 +01:00
derrod
82376e3d57
[cli] Allow setting default platform via config
2021-12-03 21:01:30 +01:00
derrod
694a275dac
[core] Fix platform linking warning
2021-12-03 18:08:21 +01:00
derrod
e11dd8734f
[cli] Make pre-installation check results stand out more
2021-12-03 18:01:24 +01:00
derrod
db1a6706e4
[cli] I a word when opening the auth/link URLs
2021-12-03 17:54:14 +01:00
derrod
e1b5245252
[cli] Improve Ubisoft activation messaging
2021-12-03 17:23:24 +01:00
derrod
c8189460c2
[cli/core] Fix some plurals
2021-12-03 17:21:48 +01:00
derrod
1c8349a28e
[core] Do not show fetching metadata message unless there's data to fetch
2021-12-03 17:14:45 +01:00
derrod
20f934dc12
[core] Avoid unnecessary copy()
2021-12-03 16:27:19 +01:00
derrod
8dadf3c1a1
[core] Do not delete unused asset information when updating
...
Previously this would remove asset information for platforms not
currently in-use. This change retains those, but doesn't update
them if they're not required.
2021-12-03 16:27:00 +01:00
derrod
d737ca57a7
[core/egs] Use thread pool for fetching metadata
2021-12-03 16:23:48 +01:00
derrod
5671448264
[core] Rework Uplay warning
2021-12-03 14:30:01 +01:00
derrod
e71ab3155e
[cli/api/models] Add "activate" command to redeem Uplay games
2021-12-03 14:07:57 +01:00
derrod
a8e35e9f3b
[cli] Show download url for PyInstaller build updates
2021-12-03 12:47:07 +01:00
derrod
c33f9a0084
[cli] Enable save-sync of Mac titles
2021-12-02 17:06:08 +01:00
derrod
90a4efdfbf
[core] Fix path expansion for macOS savegame variables
2021-12-02 17:05:50 +01:00
derrod
32e9ef1cd3
[core] Fix wrong property name for SaveGame
2021-12-02 16:55:02 +01:00
derrod
9511d9d65b
[core] Fix metadata prune removing required data
2021-12-02 16:53:09 +01:00
derrod
6f7989ab50
[cli/core/utils/lfs] Also enable update notification on macOS
2021-12-02 16:51:48 +01:00
derrod
9e21a81c96
[cli] install: Set platform when getting game metadata
2021-12-02 16:16:52 +01:00
derrod
1dfc5aabe7
[cli/core/models/utils] macOS cloud save support
2021-12-02 15:24:01 +01:00
derrod
4eaa608370
[cli] Set default platform to Mac when running on macOS
2021-12-02 15:23:16 +01:00
derrod
aeecaa4d3e
[cli] Show warning if platform may be invalid
2021-12-02 15:22:13 +01:00
derrod
7151470197
[core] Fix getting game metadata for new titles
2021-12-02 15:10:54 +01:00
derrod
8fb4c56730
[cli] Fix some remaining platform-unawareness
2021-12-02 14:34:29 +01:00
derrod
4fd50a93a0
[core] Always update asset information for all in-use platforms
2021-12-02 14:29:08 +01:00
derrod
356f0f84f5
[cli/core/models] Access namespace/catalog item id directly
2021-12-02 14:28:21 +01:00
derrod
999ff36667
[cli] Include platform in installed list
...
Also remove stray debug print
2021-12-02 13:35:56 +01:00
derrod
fe912246a5
[cli] Fix variable overlap
2021-12-02 13:31:55 +01:00
derrod
2ff6712932
[cli] Fix help text for --platform options
2021-12-01 22:14:49 +01:00
derrod
260c0e97a2
[cli] Include platform in status output
2021-12-01 22:04:30 +01:00
derrod
42aae4eccf
[core] Do not show locale error on macOS
2021-12-01 21:59:53 +01:00
derrod
f00d23c8c4
[core] Cleanup imports
2021-12-01 21:58:56 +01:00
derrod
0fb3d39a0a
[core] Check if game is not-None before updating asset info
2021-12-01 21:38:44 +01:00
derrod
c83bf7218c
[core] Remove remaining hardcoded platform strings
2021-12-01 21:30:41 +01:00
derrod
24832ea074
[cli] Add --platform to import
2021-12-01 21:30:15 +01:00
derrod
8c56bd93d5
[core/lfs] Include platform in saved manifest name
2021-12-01 21:26:21 +01:00
derrod
081cca2c19
[core] Check all platforms for metadata prune
2021-12-01 21:20:11 +01:00
derrod
de24ee8157
[cli] Do not crash if DLC is missing metadata for some reason
...
Fixes #371
2021-12-01 21:19:40 +01:00
derrod
0d1592266b
[cli] Set platform argument default
2021-12-01 21:06:39 +01:00
derrod
e8207d53cd
[cli/core] Ensure update checks use the right platform(s)
2021-12-01 21:02:38 +01:00
derrod
f280d53496
[cli/core/lfs] Add support for mixing platforms
2021-12-01 20:57:43 +01:00
derrod
ee3f9a3e07
[models] Migrate app info to dataclasses, split platforms
2021-12-01 20:46:10 +01:00
derrod
d0d37c40e7
[models/downloader] Add task flag to make file executable
2021-12-01 20:45:17 +01:00
derrod
c43833146a
[core] Subtract reusable size from required disk space
...
Fixes #362
2021-10-29 17:30:16 +02:00
derrod
926e89c89a
[models] Explicitly specify serialisation version
...
Newer features may not be supported, so don't use the (potentially unsupported)
ones we read from the input.
2021-10-29 14:27:15 +02:00
derrod
3145fdb534
[models] Make manifest deserializer skip unknown data instead of failing
2021-10-29 14:19:52 +02:00
derrod
eacb8eb006
[models] Add tentative support for new file manifest fields
...
Why on earth would anybody want MD5 hashes?
2021-10-29 14:04:17 +02:00
derrod
b27879f21f
Bump version
2021-10-29 12:43:00 +02:00
derrod
22b9c5c932
[models] Skip over unknown data in manifest
2021-10-29 12:40:18 +02:00
derrod
33ad64f0a4
[core] Only fail if absolutely no base-url can be found
...
Overrides without a known base-url should work.
2021-10-28 10:34:28 +02:00
derrod
07415d944c
Bump version
2021-10-22 04:37:34 +02:00
derrod
aaf7e0934f
[core/utils] Attempt to find save path case-insensitively
2021-10-22 04:29:39 +02:00
derrod
106ed16a49
[cli/core] Do not delete merely incomplete saves unless user says so
2021-10-21 14:27:08 +02:00
derrod
658cc94dbe
[core] Include app name in clean-saves command for specific game
2021-10-21 14:11:53 +02:00
derrod
8181f9faeb
[core] Log number of deleted files (if any)
2021-10-21 14:10:14 +02:00
derrod
964ee08d05
[core] Add references to "clean-saves" in error message
2021-10-21 13:28:33 +02:00
derrod
355b1107e6
[cli/core] Add "clean-saves" command to remove obsolete/broken cloud save data
2021-10-21 13:26:36 +02:00
derrod
85a275950d
[core] Show warnings and error out if save data is corrupted
2021-10-21 13:26:00 +02:00
derrod
d5ec14b556
[core] Fix resolving "{AppData}" in save path
...
Why did they decide that {AppData} should match to %LOCALAPPDATA%?
2021-10-21 12:15:44 +02:00
derrod
2146a45104
[cli] Explicitly set CSV/TSV line terminator
...
Fixes #358
2021-10-21 11:39:11 +02:00
derrod
856c5ef2ee
[cli] Abort install if game is managed by third party store
2021-10-16 19:47:19 +02:00
derrod
0ef916e9c5
[cli/lfs] Prune game metadata that's no longer needed
2021-10-16 19:44:48 +02:00
derrod
8c002a76e0
[cli/core] Replace old manual game store query with new property
2021-10-16 19:44:15 +02:00
derrod
9462aa331f
[models] Add "third_party_store" property to Game
2021-10-16 19:42:47 +02:00
derrod
7f53746ee6
[cli] Show note when no game information is available
2021-10-16 19:33:59 +02:00
derrod
b57735abf3
[core] Show warning in "info" if game asset is unavailable
...
Also disable manifest download as that will probably fail.
2021-10-16 18:59:54 +02:00
derrod
841db6bcb6
[core] Add "asset_available" helper function
2021-10-16 18:59:18 +02:00
derrod
fa9e650ea1
[cli] Ensure "info" JSON output items are null if empty
2021-10-16 18:58:20 +02:00
derrod
e6bb64f16f
[core] Only delete files that are actually installed (based on tags)
2021-10-12 15:24:49 +02:00
derrod
07ae84c6a0
[lfs/utils] Prevent app name colliding with itself
2021-10-12 15:00:11 +02:00
derrod
054a3ea7eb
Bump version
2021-10-10 17:27:15 +02:00
derrod
27c92e3555
[cli] Add more descriptive error message when directory no longer exists
...
Fixes #258
2021-10-10 17:17:42 +02:00
derrod
6d3a8af70b
[cli] Make it possible to uninstall DLC
2021-10-10 17:08:05 +02:00
derrod
205f960ed4
[utils] Disable webview on Windows if Edgium renderer not available
...
CEF should also work, but is untested.
2021-10-10 12:59:03 +02:00
derrod
6cef1a1410
[cli] Fix "info" command for games without asset data (e.g. Origin)
2021-10-10 12:36:38 +02:00
derrod
9693a0b8ff
[cli] Do not print empty info items
2021-10-10 12:36:16 +02:00
derrod
8da4b55987
[cli] Fix --dry-run for Origin launch
2021-10-10 12:33:42 +02:00
derrod
0bc543518c
[core] Properly construct Origin launch URI
2021-10-10 12:30:25 +02:00
derrod
74bc2fecc0
[core] Check if base path exists, add failure condition if it doesn't
2021-10-10 08:36:36 +02:00
derrod
3aad87e1a9
[cli] "info" command: break down install/download size by install tag
2021-10-09 17:33:56 +02:00
derrod
115ac27b79
Bump version
2021-10-09 14:41:53 +02:00
derrod
55ec1707ef
[utils] Catch WebView exceptions and tell user how to disable it
2021-10-09 14:39:04 +02:00
derrod
674793b808
[utils] Fix unhandled exception in alias generation
2021-10-09 14:31:00 +02:00
derrod
aafba86a94
[core] Validate session expiry time before skipping login
2021-10-08 10:36:32 +02:00
derrod
5d4beeb27d
Bump version
2021-10-08 10:22:35 +02:00
derrod
ea01cb6302
[cli] Add "--skip-dlc" flag to install command
2021-10-08 10:20:39 +02:00
derrod
ce89965274
[cli] Add automatic DLC import to "import-game"
2021-10-08 10:20:23 +02:00
derrod
9471ca41e1
[core] Do not check egstore folder for DLC
2021-10-08 10:17:15 +02:00
derrod
b3b5470947
[core] Make auth() return immediately if already logged in
2021-10-08 10:15:07 +02:00
derrod
2f6f043716
[cli] Do not import DLC if base game is not installed
...
Fixes #351
2021-10-08 09:43:36 +02:00
derrod
6486d02daa
[cli] Resolve app name alias when adding new alias
2021-10-07 17:06:39 +02:00
derrod
75cc194424
[downloader.mp] Fix exponential backoff calculation and log as info
2021-10-07 11:16:39 +02:00
derrod
2d366a7704
[downloader.mp] Add exponential backoff to retries
...
Fixes #347
2021-10-07 10:46:17 +02:00
derrod
b857967dfa
[cli/core] Add WebView killswitch to Legendary update data
...
In case epic breaks it, this at least lets us disable it remotely.
2021-10-07 05:20:08 +02:00
derrod
b78b4f49c1
[utils] Show error if callback result is None
...
Most likely happens due to user-abort.
2021-10-07 05:18:46 +02:00
derrod
96ff42f05a
[cli/utils] Skip logout when using Qt/GTK, faster logout on Windows
2021-10-07 05:10:14 +02:00
derrod
917cfc259e
[utils] Use JS to get SID response to work on GTK WebKit
2021-10-06 20:36:14 +02:00
derrod
c89f9d82c7
[utils] Fix opening external URL on Linux (GTK)
2021-10-06 17:14:00 +02:00
derrod
15591a1e2d
[cli/utils] Add support for logging in via web view
...
Also adds pywebview as optional dependency to setup.py
2021-10-06 10:54:25 +02:00
derrod
26715695d8
[cli] Load JSON if user pastes full response rather than just SID
2021-10-06 07:24:33 +02:00
derrod
4e539c4fd5
[cli] Print manifest install tags in "info" command
2021-10-05 09:47:59 +02:00
derrod
a029fc6fdb
Bump version
2021-10-05 09:40:00 +02:00
derrod
c4695d2b99
[cli/models/lfs] Clean up some old code/comments
2021-10-05 09:22:17 +02:00
derrod
ead2bdc16c
[cli] Add global "-J" option to pretty-print JSON
2021-10-05 08:47:28 +02:00
derrod
56fdfba787
[cli] Add JSON output to "info" command
2021-10-05 08:41:57 +02:00
derrod
f2639a7e67
[lfs] Make lowercase app name an alias rather than conflict
2021-10-05 08:18:53 +02:00
derrod
8460fdfd2a
[cli/core/lfs] Add support for trying multiple encryption keys
...
Should Epic change the key used for EGL in the future we want to
be backwards-compatible to existing (outdated) EGL installs as well
as new ones without having to push out a new release.
Also forces updating of version data before attempting the import to
get the latest key(s) and adds a log message when auth data is deleted.
2021-10-05 07:34:52 +02:00
derrod
82f38d279d
[utils] Split name on dashes for alias generation
2021-10-05 07:19:15 +02:00
derrod
02c83405fb
[lfs] Fix old aliases not being cleared when regenerating
2021-10-05 07:11:33 +02:00
derrod
638578283b
[core/utils/lfs] Fix auth import with now encrypted EGL user data
...
It took way too long to find the key.
It's not even hidden, I'm just dumb.
2021-10-04 09:26:44 +02:00
derrod
2f4ad78e27
[lfs] Prevent aliases from shadowing app names
...
This is probably somewhat unlikely to actually happen given
that app names are largely random strings and only some are
actual words, but just to be sure we declare app names to be
collisions.
2021-10-04 01:28:22 +02:00
derrod
a116013f05
[utils] Also make raw game name (lowercase) a valid alias
2021-10-02 23:48:44 +02:00
derrod
5960cb8699
Bump version
2021-10-02 23:23:28 +02:00
derrod
09c52b66ff
[cli] Log app title/name when preparing download
2021-10-02 23:09:59 +02:00
derrod
0b97cdeeef
[cli] Add alias management commands
2021-10-02 22:54:56 +02:00
derrod
3f04de448b
[utils] Improve alias generation and fix explanation
2021-10-02 22:19:11 +02:00
derrod
e7ce2e5cb7
[core] Force-refresh aliases when fetching games without assets
2021-10-02 21:21:46 +02:00
derrod
0d8b74a9e0
[cli/core/utils/lfs] Add automatic alias generation
2021-10-02 21:10:25 +02:00
derrod
d70d5a6521
[downloader] Fix ETA calculation for runtimes >= 1 hour
...
Closes #345
2021-10-02 19:00:09 +02:00
derrod
d15b882929
Bump version
2021-10-02 07:41:29 +02:00
derrod
8f6cb9c856
[cli] Add alias feature for app names
2021-10-02 07:41:11 +02:00
derrod
55f9f05206
[utils] Change wording of SDL prompt, support space-separated list
2021-09-29 09:04:09 +02:00
derrod
f22c8d0ab6
[cli] Add --skip-sdl and --disable-sdl options
...
--skip-sdl simply skips the prompt and selects the defaults.
--disable-sdl disables selective downloading for the title and
will reset existing SDL settings (if any). Can be re-enabled
with --reset-sdl or by removing the config option manually.
The combination "--reset-sdl --disable-sdl" is allowed and will
reset existing tags while keeping SDL disabled.
2021-09-29 08:05:37 +02:00
derrod
f9dad549c3
[cli] Add manifest size and fix crash with no DLC
2021-09-28 09:43:49 +02:00
derrod
ff29b949cb
[cli] Add "--with-dlcs" flag to automatically install all DLCs
2021-09-28 08:07:28 +02:00
derrod
3a608610f3
[cli] Add "info" command for app metadata
2021-09-28 07:58:50 +02:00
derrod
4706a42cee
[cli] Verify app name to be an Origin title when using --origin
2021-09-28 05:57:39 +02:00
derrod
7509550eb1
[cli/core] Add option to force refresh game metadata
2021-09-28 05:56:19 +02:00
derrod
dbc4131ec2
[cli] Use new launch command method in Origin launch
...
By doing this support for wrappers (e.g. Proton) is now also included.
2021-09-28 05:23:39 +02:00
derrod
a1993eb568
[core] Refactor getting wine/wrapper launch command into its own function
2021-09-28 05:21:16 +02:00
derrod
156b4716f4
[cli] Add --json to Origin launch as well
2021-09-28 05:20:40 +02:00
derrod
b5d4224664
[cli/core] Only return legendary-defined environment variables
2021-09-28 05:07:06 +02:00
derrod
888d62a96d
[cli/core/models] Refactor launch parameters and add --json option
...
Primarily intended to make it easier for third-party applications
(mainly Heroic) to handle launch options on their own by simply
taking the necessary information from legendary and ignoring
user-defined stuff.
Also useful for debugging.
2021-09-28 04:06:54 +02:00
derrod
ee2432c443
[cli/core/lfs] Allow specifying custom config file
2021-09-28 03:07:15 +02:00
derrod
b319cb505c
[cli/downloader.mp] Explicitly set UTF-8 encoding for resume/repair file
...
Fixes #297
2021-09-28 02:42:17 +02:00
derrod
e881e42d5f
[core] Save non-install game metadata
2021-09-18 20:02:52 +02:00
derrod
730225c06b
[cli] Include DLC install size
2021-09-10 20:36:51 +02:00
derrod
fbd0df1ecc
[cli/core] Include DLCs in installed games list
...
This should be replaced later on by including information
about the main game in the InstalledGame metadata.
2021-09-10 20:30:53 +02:00
derrod
cffd9040f7
[cli] Strip whitespace from game titles
...
Yoku's Island Express has a \t for some reason...
2021-09-10 16:09:15 +02:00
derrod
6b4cf6558b
[core] Warn if parsing manifest-defined launch parameters fails
2021-09-09 09:55:48 +02:00
derrod
a725dd0ad8
Bump version
2021-09-08 11:10:42 +02:00
derrod
21eac6ecfa
[cli] Enable (very manual) Origin linking on Linux
2021-09-08 10:43:30 +02:00
derrod
0bf7110653
[core] Move getting env vars to separate method
2021-09-08 10:37:40 +02:00
derrod
e8a3a3ec8d
[cli] Use pyinstaller check rather than OS name only
2021-09-08 10:27:26 +02:00
derrod
b12798e6b0
[cli/core/lfs/utils] Fetch SDL data from API
2021-09-05 09:41:54 +02:00
derrod
82a2706e4c
[api] Add method for downloading SDL data
2021-09-05 09:06:57 +02:00