Commit graph

441 commits

Author SHA1 Message Date
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