implement devmode

This commit is contained in:
David Rodenkirchen 2024-08-28 22:16:15 +02:00
parent e9f3e78cbd
commit e3359229ec
4 changed files with 18 additions and 4 deletions

View File

@ -24,3 +24,5 @@
[seating] [seating]
base_svg_path="" base_svg_path=""
dev_mode_active=false # Supresses E-Mail sending

View File

@ -22,7 +22,7 @@ def init_services() -> tuple[AccountingService, CateringService, ConfigurationSe
user_service = UserService(db_service) user_service = UserService(db_service)
accounting_service = AccountingService(db_service) accounting_service = AccountingService(db_service)
news_service = NewsService(db_service) news_service = NewsService(db_service)
mailing_service = MailingService(configuration_service.get_mailing_service_configuration()) mailing_service = MailingService(configuration_service)
ticketing_service = TicketingService(configuration_service.get_lan_info(), db_service, accounting_service) ticketing_service = TicketingService(configuration_service.get_lan_info(), db_service, accounting_service)
seating_service = SeatingService(configuration_service.get_seating_configuration(), configuration_service.get_lan_info(), db_service, ticketing_service) seating_service = SeatingService(configuration_service.get_seating_configuration(), configuration_service.get_lan_info(), db_service, ticketing_service)
catering_service = CateringService(db_service, accounting_service, user_service) catering_service = CateringService(db_service, accounting_service, user_service)

View File

@ -93,3 +93,7 @@ class ConfigurationService:
@property @property
def APP_VERSION(self) -> str: def APP_VERSION(self) -> str:
return self._version return self._version
@property
def DEV_MODE_ACTIVE(self) -> bool:
return self._config["dev_mode_active"]

View File

@ -1,16 +1,24 @@
import logging import logging
from email.message import EmailMessage from email.message import EmailMessage
from asyncio import sleep
import aiosmtplib import aiosmtplib
from src.ez_lan_manager.types.ConfigurationTypes import MailingServiceConfiguration from src.ez_lan_manager.services.ConfigurationService import ConfigurationService
logger = logging.getLogger(__name__.split(".")[-1]) logger = logging.getLogger(__name__.split(".")[-1])
class MailingService: class MailingService:
def __init__(self, configuration: MailingServiceConfiguration): def __init__(self, configuration_service: ConfigurationService):
self._config = configuration self._configuration_service = configuration_service
self._config = self._configuration_service.get_mailing_service_configuration()
async def send_email(self, subject: str, body: str, receiver: str) -> None: async def send_email(self, subject: str, body: str, receiver: str) -> None:
if self._configuration_service.DEV_MODE_ACTIVE:
logger.info(f"Skipped sending mail to {receiver} because demo mode is active.")
await sleep(1)
return
try: try:
message = EmailMessage() message = EmailMessage()
message["From"] = self._config.sender message["From"] = self._config.sender