diff --git a/apmw/webhost/customserver/gamespackage/cache.py b/apmw/webhost/customserver/gamespackage/cache.py index 928b10ba28..970de515ea 100644 --- a/apmw/webhost/customserver/gamespackage/cache.py +++ b/apmw/webhost/customserver/gamespackage/cache.py @@ -1,3 +1,5 @@ +from typing_extensions import override + from NetUtils import GamesPackage from Utils import restricted_loads from apmw.multiserver.gamespackage.cache import GamesPackageCache, ItemNameGroups, LocationNameGroups @@ -10,6 +12,7 @@ class DBGamesPackageCache(GamesPackageCache): super().__init__() self._static = {game: GamesPackageCache.get(self, game, games_package) for game, games_package in static_games_package.items()} + @override def get( self, game: str, @@ -24,12 +27,13 @@ class DBGamesPackageCache(GamesPackageCache): from WebHostLib.models import GameDataPackage - row = GameDataPackage.get(checksum=full_games_package["checksum"]) + row: GameDataPackage | None = GameDataPackage.get(checksum=full_games_package["checksum"]) if row: # None if rolled on >= 0.3.9 but uploaded to <= 0.3.8 ... return super().get(game, restricted_loads(row.data)) return super().get(game, full_games_package) # ... in which case full_games_package should be populated return cached # type: ignore # mypy doesn't understand any value is None + @override def get_static(self, game: str) -> tuple[GamesPackage, ItemNameGroups, LocationNameGroups]: return self._static[game] diff --git a/test/multiserver/test_gamespackage_cache.py b/test/multiserver/test_gamespackage_cache.py index f59486f84e..e764a4e8e8 100644 --- a/test/multiserver/test_gamespackage_cache.py +++ b/test/multiserver/test_gamespackage_cache.py @@ -2,6 +2,8 @@ import typing as t from copy import deepcopy from unittest import TestCase +from typing_extensions import override + import NetUtils from NetUtils import GamesPackage from apmw.multiserver.gamespackage.cache import GamesPackageCache @@ -18,6 +20,7 @@ class GamesPackageCacheTest(TestCase): "checksum": "1234", } + @override def setUp(self) -> None: self.cache = GamesPackageCache() diff --git a/test/webhost/customserver/test_gamespackage_cache.py b/test/webhost/customserver/test_gamespackage_cache.py index 57baab7513..32497526d5 100644 --- a/test/webhost/customserver/test_gamespackage_cache.py +++ b/test/webhost/customserver/test_gamespackage_cache.py @@ -1,6 +1,8 @@ import typing as t from copy import deepcopy +from typing_extensions import override + from test.multiserver.test_gamespackage_cache import GamesPackageCacheTest import Utils @@ -37,6 +39,7 @@ class DBGamesPackageCacheTest(GamesPackageCacheTest): } orig_db_type: t.ClassVar[type] + @override @classmethod def setUpClass(cls) -> None: import WebHostLib.models @@ -44,9 +47,11 @@ class DBGamesPackageCacheTest(GamesPackageCacheTest): cls.orig_db_type = WebHostLib.models.GameDataPackage WebHostLib.models.GameDataPackage = FakeGameDataPackage # type: ignore + @override def setUp(self) -> None: self.cache = DBGamesPackageCache(self.static_data) + @override @classmethod def tearDownClass(cls) -> None: import WebHostLib.models