Improved caching and utils structure

This commit is contained in:
2025-04-22 23:22:01 +02:00
parent ec094f9a98
commit 5230ac9ace
15 changed files with 65 additions and 40 deletions

View File

@@ -10,7 +10,7 @@ from libbot.cache.classes import Cache
from pymongo.results import InsertOneResult
from modules.database import col_events
from modules.logging_utils import get_logger
from modules.utils import get_logger, restore_from_cache
logger: Logger = get_logger(__name__)
@@ -59,11 +59,10 @@ class PycordEvent:
Raises:
EventNotFoundError: Event was not found
"""
if cache is not None:
cached_entry: Dict[str, Any] | None = cache.get_json(f"{cls.__short_name__}_{event_id}")
cached_entry: Dict[str, Any] | None = restore_from_cache(cls.__short_name__, event_id, cache=cache)
if cached_entry is not None:
return cls(**cached_entry)
if cached_entry is not None:
return cls(**cached_entry)
db_entry = await cls.__collection__.find_one(
{"_id": event_id if isinstance(event_id, ObjectId) else ObjectId(event_id)}
@@ -326,3 +325,11 @@ class PycordEvent:
await self._set(cache, stage_ids=self.stage_ids)
await self._update_event_stage_order(bot, old_stage_ids, cache=cache)
# # TODO Add documentation
# def get_localized_start_date(self, tz: str | timezone | ZoneInfo) -> datetime:
# return self.starts.replace(tzinfo=tz)
#
# # TODO Add documentation
# def get_localized_end_date(self, tz: str | timezone | ZoneInfo) -> datetime:
# return self.ends.replace(tzinfo=tz)