PamGram/core/services/game/services.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

67 lines
2.5 KiB
Python
Raw Normal View History

from core.base_service import BaseService
2023-05-22 14:32:37 +00:00
from core.services.game.cache import (
2023-08-29 06:03:21 +00:00
GameCacheForAvatar,
2023-05-22 14:32:37 +00:00
GameCacheForStrategy,
GameCacheForMaterial,
GameCacheForLightCone,
GameCacheForRelics,
)
2022-07-26 10:07:31 +00:00
__all__ = "GameCacheService"
2022-07-26 10:07:31 +00:00
class GameCacheService(BaseService):
def __init__(
2023-05-03 12:54:26 +00:00
self,
2023-08-29 06:03:21 +00:00
avatar_cache: GameCacheForAvatar,
2023-05-03 12:54:26 +00:00
strategy_cache: GameCacheForStrategy,
material_cache: GameCacheForMaterial,
light_cone_cache: GameCacheForLightCone,
2023-05-22 14:32:37 +00:00
relics_cache: GameCacheForRelics,
):
2023-08-29 06:03:21 +00:00
self.avatar_cache = avatar_cache
self.strategy_cache = strategy_cache
self.material_cache = material_cache
self.light_cone_cache = light_cone_cache
2023-05-22 14:32:37 +00:00
self.relics_cache = relics_cache
2022-07-26 10:07:31 +00:00
2023-08-29 06:03:21 +00:00
async def get_avatar_cache(self, character_name: str) -> str:
cache = await self.avatar_cache.get_file(character_name)
if cache is not None:
return cache.decode("utf-8")
async def set_avatar_cache(self, character_name: str, file: str) -> None:
await self.avatar_cache.set_file(character_name, file)
2023-04-26 08:48:05 +00:00
async def get_strategy_cache(self, character_name: str) -> str:
cache = await self.strategy_cache.get_file(character_name)
2023-04-26 08:48:05 +00:00
if cache is not None:
2023-05-03 12:54:26 +00:00
return cache.decode("utf-8")
2022-07-26 10:07:31 +00:00
2023-04-26 08:48:05 +00:00
async def set_strategy_cache(self, character_name: str, file: str) -> None:
await self.strategy_cache.set_file(character_name, file)
async def get_material_cache(self, character_name: str) -> str:
cache = await self.material_cache.get_file(character_name)
if cache is not None:
2023-05-03 12:54:26 +00:00
return cache.decode("utf-8")
async def set_material_cache(self, character_name: str, file: str) -> None:
await self.material_cache.set_file(character_name, file)
async def get_light_cone_cache(self, light_cone_name: str) -> str:
cache = await self.light_cone_cache.get_file(light_cone_name)
if cache is not None:
2023-05-03 12:54:26 +00:00
return cache.decode("utf-8")
async def set_light_cone_cache(self, light_cone_name: str, file: str) -> None:
await self.light_cone_cache.set_file(light_cone_name, file)
2023-05-22 14:32:37 +00:00
async def get_relics_cache(self, relics_name: str) -> str:
cache = await self.relics_cache.get_file(relics_name)
if cache is not None:
return cache.decode("utf-8")
async def set_relics_cache(self, relics_name: str, file: str) -> None:
await self.relics_cache.set_file(relics_name, file)