Commit graph

59 commits

Author SHA1 Message Date
derrod a25de242d9 [cli/core/models] Add config option for pre-launch command 2022-01-09 14:21:11 +01:00
derrod 202f07973a [downloader/models] Calculate maximum disk space delta during installation 2022-01-02 13:06:59 +01:00
derrod b6cb31df8b [cli/models/utils] Move strtobool into legendary utils
Fixes deprecation warning on Python 3.10+
2021-12-28 17:37:26 +01:00
derrod 9d18ef03fa [cli/core/models] Add property for partner link id/type 2021-12-06 18:10:30 +01:00
derrod e71ab3155e [cli/api/models] Add "activate" command to redeem Uplay games 2021-12-03 14:07:57 +01:00
derrod 1dfc5aabe7 [cli/core/models/utils] macOS cloud save support 2021-12-02 15:24:01 +01:00
derrod 356f0f84f5 [cli/core/models] Access namespace/catalog item id directly 2021-12-02 14:28:21 +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 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 22b9c5c932 [models] Skip over unknown data in manifest 2021-10-29 12:40:18 +02:00
derrod 9462aa331f [models] Add "third_party_store" property to Game 2021-10-16 19:42:47 +02:00
derrod c4695d2b99 [cli/models/lfs] Clean up some old code/comments 2021-10-05 09:22:17 +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 1fe0dab78b [models] Further adjustments to new dataclasses 2021-08-14 05:10:00 +02:00
derrod 782a18f8f1 [models] Add type hints and migrate downloader models to dataclasses 2021-08-11 09:19:52 +02:00
derrod edad963200 [models/utils] Track file offset for chunk parts
Preparation for smarter patching with downloader rewrite.
2021-01-10 14:25:35 +01:00
derrod ee3b3fb9fe Fix various typos and some style complaints
Closes #175
2021-01-02 06:53:21 +01:00
derrod d861668bc1 [models] Update CustomFields with items() method 2020-12-22 18:10:03 +01:00
derrod 30acc7d55e [models] Add install tags to game models 2020-12-17 15:23:05 +01:00
derrod 08c2008281 [downloader/models] Add silent deletion task flag 2020-12-16 12:28:37 +01:00
derrod 5f2da28f51 [models] Enable JSON to binary manifest serialization 2020-06-01 11:20:26 +02:00
derrod 7cb2717589 [models] Fix needs_verification being null 2020-05-30 00:05:03 +02:00
derrod 70c559a7f9 [models] Always mark games as non-DLC and rename method
This will need to change if DLC support is ever added.
2020-05-29 23:07:00 +02:00
derrod e8a2df75fd [models] deepcopy EGLManifest input data 2020-05-29 23:06:15 +02:00
derrod b1ecce7aa3 [models] Add EGL installation manifest support 2020-05-28 23:10:15 +02:00
derrod 2e2bb3ad41 [cli/core/models] Add install size to installed games 2020-05-28 23:05:36 +02:00
derrod 1ac1875a86 [models/utils] Catch and log exception when opening file fails 2020-05-23 16:55:18 +02:00
derrod 38f5bbd934 [cli/core/models] Add support for importing already installed games
Fixes #10 though will need further improvement.
2020-05-20 14:06:55 +02:00
derrod 5b2ebada78 [cli/utils/models] Add "verify-game" command to check game install 2020-05-19 18:29:16 +02:00
derrod 730eaebec9 [cli/core/models] Fix a whole bunch of cloud save issues
- Games that didn't already have cloud saves weren't synced
- Games that didn't have local saves didn't behave correctly
- Games that only had local saves also didn't work correctly
2020-05-16 12:50:28 +02:00
derrod d6abbcc694 Cleanup! (Remove shebangs, unused files) 2020-05-15 07:01:30 +02:00
derrod d648d29810 [cli] Automatic DLC installation and cloud save notice 2020-05-14 16:04:03 +02:00
derrod 98df2a0a38 [cli/core/models/utils] Add basic cloud save syncing support 2020-05-14 14:52:33 +02:00
derrod 6cfe7a74ea [models] Allow initializing ChunkPart values 2020-05-12 04:01:46 +02:00
derrod b0f5ea15a3 [models] return chunk/manifest bytes written 2020-05-12 03:59:21 +02:00
derrod 8ae0fff1d7 [models] Support __setitem__ in CustomFields 2020-05-09 11:04:57 +02:00
derrod 8328a8ebaa [models] Calculate group_num based on GUID 2020-05-09 11:04:29 +02:00
derrod 17ea65d2da [models] Raise exception when chunk data too large 2020-05-09 11:03:54 +02:00
derrod 2c3bfdfd3a [models] Use random GUID when creating Chunk() 2020-05-09 11:03:14 +02:00
derrod 3257b869e2 [models] Add get_chunk_by_path to CDL 2020-05-09 11:02:31 +02:00
derrod d94d07a26b [models] Support file objects in manifest/chunk serialization 2020-05-09 11:01:54 +02:00
derrod 60845fce48 [models] JSON manifest do not support serialization 2020-05-09 11:00:41 +02:00
derrod 3329bdf9af [models] Set default meta feature level to 17 2020-05-09 04:26:44 +02:00
derrod bdd2a14350 [models] Add Chunk serialisation 2020-05-06 19:50:40 +02:00
derrod efed0f07da [models] Set default manifest version to 17
This is what EGS currently delivers, and it also
appears there's a shorter header for some lower
versions so for compatibilities' sake just use 17.
2020-05-06 18:26:00 +02:00
derrod d10fa6c65c [models] Support manifest serialization 2020-05-06 18:21:26 +02:00
derrod 5eb1b69c05 [models] Fix JSON manifest chunkinfo sha hash
This needs to be bytes() for __repr__() to work.
2020-05-01 15:15:39 +02:00