aiomysql refactor

This commit is contained in:
David Rodenkirchen
2024-09-03 14:30:32 +02:00
parent a9597b5c4f
commit 30b32a4c02
24 changed files with 901 additions and 755 deletions
+8 -7
View File
@@ -1,5 +1,5 @@
import logging
from datetime import date, datetime
from datetime import date
from typing import Optional
from src.ez_lan_manager.services.DatabaseService import DatabaseService
@@ -11,21 +11,22 @@ class NewsService:
def __init__(self, db_service: DatabaseService) -> None:
self._db_service = db_service
def add_news(self, news: News) -> None:
async def add_news(self, news: News) -> None:
if news.news_id is not None:
logger.warning("Can not add news with ID, ignoring...")
return
self._db_service.add_news(news)
await self._db_service.add_news(news)
def get_news(self, dt_start: Optional[date] = None, dt_end: Optional[date] = None) -> list[News]:
async def get_news(self, dt_start: Optional[date] = None, dt_end: Optional[date] = None) -> list[News]:
if not dt_end:
dt_end = date.today()
if not dt_start:
dt_start = date(1900, 1, 1)
return self._db_service.get_news(dt_start, dt_end)
return await self._db_service.get_news(dt_start, dt_end)
def get_latest_news(self) -> Optional[News]:
async def get_latest_news(self) -> Optional[News]:
try:
return self.get_news(None, date.today())[0]
all_news = await self.get_news(None, date.today())
return all_news[0]
except IndexError:
logger.debug("There are no news to fetch")