kramo
5abf3f300d
Remove missing games - closes #85
2023-08-15 20:11:06 +02:00
Geoffrey Coulaud
1aff1347e3
Managers refactor ( #164 )
...
The main reason for this is the compositing of both local and online covers with the same logic.
It was a problem raised in #146 with some covers getting stretched.
Changes:
- Renamed and simplified managers methods
- Created a generic `cover manager`
- Added more retryable errors to `steam api manager`
- Removed `local cover manager` and `online cover manager`
- Reduced dependency on `PIL`
2023-07-31 18:44:18 +02:00
GeoffreyCoulaud
bb4870e99d
Add debug message to local cover manager
2023-07-20 11:33:55 +02:00
GeoffreyCoulaud
87a4319360
Store improvements
...
- Store games by source
- Added convenience dunder methods (contains, iter, len, getitem)
- Added store.get
- Changed `enable_in_pipeline` for `toggle_in_pipeline`
2023-07-07 18:06:07 +02:00
GeoffreyCoulaud
29e022327b
Retry all online managers on ConnectionError
2023-07-01 18:51:50 +02:00
GeoffreyCoulaud
8d082ab158
Removed win.games
2023-07-01 02:56:40 +02:00
kramo
8e7d08b3b2
Fix indentation and trailing / for Flatpak
2023-07-01 00:10:36 +02:00
kramo
721a46c5b8
Finalize Flatpak source
2023-06-30 23:49:48 +02:00
kramo
6b46efb0b8
Spelling
2023-06-26 21:46:52 +02:00
kramo
cbd0b3f287
Update translations
2023-06-26 11:37:39 +02:00
kramo
4f7dc8716a
Make errors properly translatable
2023-06-26 11:08:33 +02:00
kramo
e73bc5507c
Change display of errors
2023-06-26 10:56:01 +02:00
GeoffreyCoulaud
5e5a2fe746
🎨 Improved importer error dialog
...
- Kept simple for single errors
- Made more readable for multiple errors
2023-06-24 16:13:41 +02:00
GeoffreyCoulaud
3fa80a53c6
🎨 Work on import error handling
...
- Generic ErrorProducer class
- Importer and managers are error producers
- SGDB Auth friendly error
- Bad source location friendly errors (data, config, cache)
- Removed unused decorators
2023-06-24 15:13:35 +02:00
kramo
2e97edcdb5
Please pylint once and for all
2023-06-18 13:15:03 +02:00
kramo
9d7a6d8ea4
Add copyright headers
2023-06-17 16:27:10 +02:00
GeoffreyCoulaud
cff2a4ae6c
Fix adding games manually
2023-06-17 16:15:53 +02:00
GeoffreyCoulaud
beba0ff1e2
🎨 Improved internal manager storage
...
- Stored pipeline managers in a set
- Renamed store method to enable_manager_in_pipeline
- Simplified a bit the ugly code™ in details_window
2023-06-16 15:38:05 +02:00
GeoffreyCoulaud
e694341a31
🐛 Fix game import not refreshing remove covers
2023-06-16 15:21:39 +02:00
kramo
90667b0f31
Fix details_window logic
2023-06-15 17:53:48 +02:00
kramo
39bc64c136
Use signals for updating and saving games
2023-06-15 17:37:54 +02:00
kramo
e6afed6678
Cleanups
2023-06-15 15:22:08 +02:00
GeoffreyCoulaud
3bc0df3881
🎨 Change image composition logic
2023-06-14 17:23:54 +02:00
GeoffreyCoulaud
695cc88d76
🎨 Made OnlineCoverManager more general
...
- Does compositing of image with a blurred background
- Stretches the original image if it's not too much
- Handles images that are too wide and images that are too tall
- Removed ItchCoverManager
2023-06-14 00:05:38 +02:00
kramo
de3ef53148
Make pylint happy
2023-06-10 19:34:00 +02:00
GeoffreyCoulaud
dcd4357e57
🎨 No longer using SGDBSave
...
- Details window uses a Pipeline with SGDBTask
- Store saves managers in a type: instance dict
- Removed SGDBSave
2023-06-10 16:22:09 +02:00
GeoffreyCoulaud
8eb2a270f6
🎨 Improved manager error handling structure
2023-06-10 14:51:52 +02:00
GeoffreyCoulaud
e7fd01f509
🎨 Made manager attributes more flexible
...
Changed run_after, retryable_on and continue_on to be type Container.
We don't need them to be sets.
The performance gain of sets over small tuples is nonexistant
for in checks and the syntax is more verbose.
2023-06-10 12:03:16 +02:00
GeoffreyCoulaud
c9a96f5eec
🎨 Fixed some linter warnings
...
Applied suggested pylint fixes and suppressed unhelpful pylint messages
2023-06-10 03:30:09 +02:00
GeoffreyCoulaud
842f9fe522
🎨 Various code style / behaviour fixes
...
- Merged platform sources when possible
- Added URLExecutableSource class
- Moved replaced_by_schema_key to utils/decorators
- Better retryable exception handling in some managers
- Split SteamHelper into SteamFileHelper and SteamAPIHelper
- Delegated SteamRateLimiter creation to SteamAPIManager init
- Using additional_data for appid in SteamAPIManager
- Added Windows support for Legendary
- Stylistic changed suggested by pylint
2023-06-10 02:59:41 +02:00
GeoffreyCoulaud
51922ad4c6
🚧 Base Legendary source
2023-06-08 10:50:09 +02:00
GeoffreyCoulaud
b895c8ebe2
🎨 Made itch cover manager sync
2023-06-07 19:31:15 +02:00
GeoffreyCoulaud
9ebd7cf7ee
✨ Added Itch source
...
- Added call stack to unretryable errors in managers
- Added existing itch cover downloading code
- Fixed importer not closing if no source enabled
TODO
- Tidying the itch cover downloading code
- If possible, make save_cover and resize_cover work in AsyncManager-s
2023-06-07 15:33:00 +02:00
GeoffreyCoulaud
5dc6ec899a
🎨 Various changes
...
- Changed source additional data to dict
- Moved local cover saving into a manager
- Added stub for itch cover manager
2023-06-07 15:00:42 +02:00
GeoffreyCoulaud
98f02da36c
🎨 SourceIterator can yield addtitional data
...
SourceIterator-s can yield a game and a tuple of additional data.
This data will be passed to the Store, Pipeline and Managers.
2023-06-07 14:01:06 +02:00
GeoffreyCoulaud
ff0ba00733
🎨 Added delay before manager retry
2023-06-05 00:17:41 +02:00
GeoffreyCoulaud
ebd22e27da
Various fixes
...
- Improved pipeline performance
- Improver importer progress
- Steam API slow down to not get 429-ed
(but still allow bursts on smaller steam libraries)
2023-06-04 02:45:52 +02:00
GeoffreyCoulaud
6f77e0d30d
✨ Added Steam API rate limiter
2023-06-03 18:49:47 +02:00
GeoffreyCoulaud
10a635fc78
🚧 Thread-safe manager error reporting
2023-06-03 14:18:07 +02:00
GeoffreyCoulaud
f05d1e702b
🚧 Removed blacklist on 403
2023-06-01 00:40:28 +02:00
GeoffreyCoulaud
aa33e79963
🐛 Blacklist on SteamAPI 403
2023-06-01 00:34:46 +02:00
GeoffreyCoulaud
ef63210a8f
🎨 Better error handling in managers
2023-05-31 17:21:01 +02:00
GeoffreyCoulaud
d204737339
🚧 More work on resilient managers
2023-05-31 16:54:51 +02:00
GeoffreyCoulaud
0b188136a2
🚧 Initial work on retryable managers
2023-05-31 15:25:59 +02:00
GeoffreyCoulaud
0645808ac4
🐛 Fixed GTK race condition in pipelines
2023-05-29 01:38:36 +02:00
GeoffreyCoulaud
8ddb110cbb
Managers use callback functions instead of signals
2023-05-29 00:23:25 +02:00
GeoffreyCoulaud
b99c058cd7
✨ Added blocking/async managers
2023-05-29 00:05:44 +02:00
kramo
101eb1f07c
Merge main
2023-05-27 19:08:40 +02:00
GeoffreyCoulaud
39b7b35c1b
🚧 WIP import progress based on game pipelines
2023-05-27 18:24:46 +02:00
GeoffreyCoulaud
1d2253ff94
Various changes
...
- Removed useless format manager
- Moved pipeline to its own file
- Fixed steam source next not returning game
- Changed pipeline order
2023-05-24 19:34:07 +02:00