diff --git a/src/store/managers/display_manager.py b/src/store/managers/display_manager.py index e79746e..2d1377a 100644 --- a/src/store/managers/display_manager.py +++ b/src/store/managers/display_manager.py @@ -8,7 +8,7 @@ from src.store.managers.manager import Manager class DisplayManager(Manager): """Manager in charge of adding a game to the UI""" - run_after = set((SteamAPIManager, SGDBManager)) + run_after = (SteamAPIManager, SGDBManager) def manager_logic(self, game: Game, _additional_data: dict) -> None: # TODO decouple a game from its widget diff --git a/src/store/managers/file_manager.py b/src/store/managers/file_manager.py index 66cebc4..7a72e5d 100644 --- a/src/store/managers/file_manager.py +++ b/src/store/managers/file_manager.py @@ -6,7 +6,7 @@ from src.store.managers.steam_api_manager import SteamAPIManager class FileManager(AsyncManager): """Manager in charge of saving a game to a file""" - run_after = set((SteamAPIManager,)) + run_after = (SteamAPIManager,) def manager_logic(self, game: Game, _additional_data: dict) -> None: game.save() diff --git a/src/store/managers/itch_cover_manager.py b/src/store/managers/itch_cover_manager.py index abf61b2..03bfcd1 100644 --- a/src/store/managers/itch_cover_manager.py +++ b/src/store/managers/itch_cover_manager.py @@ -17,8 +17,8 @@ from src.utils.save_cover import resize_cover, save_cover class ItchCoverManager(Manager): """Manager in charge of downloading the game's cover from itch.io""" - run_after = set((LocalCoverManager,)) - retryable_on = set((HTTPError, SSLError)) + run_after = (LocalCoverManager,) + retryable_on = (HTTPError, SSLError) def manager_logic(self, game: Game, additional_data: dict) -> None: # Get the first matching cover url diff --git a/src/store/managers/local_cover_manager.py b/src/store/managers/local_cover_manager.py index a191f36..eba3abc 100644 --- a/src/store/managers/local_cover_manager.py +++ b/src/store/managers/local_cover_manager.py @@ -9,7 +9,7 @@ from src.utils.save_cover import save_cover, resize_cover class LocalCoverManager(Manager): """Manager in charge of adding the local cover image of the game""" - run_after = set((SteamAPIManager,)) + run_after = (SteamAPIManager,) def manager_logic(self, game: Game, additional_data: dict) -> None: # Ensure that the cover path is in the additional data diff --git a/src/store/managers/manager.py b/src/store/managers/manager.py index e73eb5a..927d8ca 100644 --- a/src/store/managers/manager.py +++ b/src/store/managers/manager.py @@ -2,7 +2,7 @@ import logging from abc import abstractmethod from threading import Lock from time import sleep -from typing import Any, Callable +from typing import Any, Callable, Container from src.game import Game @@ -16,11 +16,11 @@ class Manager: * May be retried on some specific error types """ - run_after: set[type["Manager"]] = set() + run_after: Container[type["Manager"]] = tuple() blocking: bool = True - retryable_on: set[type[Exception]] = set() - continue_on: set[type[Exception]] = set() + retryable_on: Container[type[Exception]] = tuple() + continue_on: Container[type[Exception]] = tuple() retry_delay: int = 3 max_tries: int = 3 diff --git a/src/store/managers/online_cover_manager.py b/src/store/managers/online_cover_manager.py index b4e5bf0..e9b8411 100644 --- a/src/store/managers/online_cover_manager.py +++ b/src/store/managers/online_cover_manager.py @@ -13,8 +13,8 @@ from src.utils.save_cover import resize_cover, save_cover class OnlineCoverManager(Manager): """Manager that downloads game covers from URLs""" - run_after = set((LocalCoverManager,)) - retryable_on = set((HTTPError, SSLError)) + run_after = (LocalCoverManager,) + retryable_on = (HTTPError, SSLError) def manager_logic(self, game: Game, additional_data: dict) -> None: # Ensure that we have a cover to download diff --git a/src/store/managers/sgdb_manager.py b/src/store/managers/sgdb_manager.py index c1831fc..5844204 100644 --- a/src/store/managers/sgdb_manager.py +++ b/src/store/managers/sgdb_manager.py @@ -13,8 +13,8 @@ from src.utils.steamgriddb import SGDBAuthError, SGDBHelper class SGDBManager(AsyncManager): """Manager in charge of downloading a game's cover from steamgriddb""" - run_after = set((SteamAPIManager, LocalCoverManager, ItchCoverManager)) - retryable_on = set((HTTPError, SSLError, ConnectionError, JSONDecodeError)) + run_after = (SteamAPIManager, LocalCoverManager, ItchCoverManager) + retryable_on = (HTTPError, SSLError, ConnectionError, JSONDecodeError) def manager_logic(self, game: Game, _additional_data: dict) -> None: try: diff --git a/src/store/managers/steam_api_manager.py b/src/store/managers/steam_api_manager.py index faad9d7..efe82e2 100644 --- a/src/store/managers/steam_api_manager.py +++ b/src/store/managers/steam_api_manager.py @@ -13,7 +13,7 @@ from src.utils.steam import ( class SteamAPIManager(AsyncManager): """Manager in charge of completing a game's data from the Steam API""" - retryable_on = set((HTTPError, SSLError)) + retryable_on = (HTTPError, SSLError) steam_api_helper: SteamAPIHelper = None steam_rate_limiter: SteamRateLimiter = None