from loguru import logger from djagitit.mailing import smtp from ..config import TABLES, SOURCES, EMAIL_SENDER, EMAIL_SENDER_ALIAS def send_status_email(statuses: dict[str, str | None], hypers_ok: bool) -> None: logger.info("Sending status email") def _format(val: str | None) -> str: if val is None: return "Not Updated" return f"Updated Until: {val}" body = f"""

Data update summary:

Process Status
{TABLES['playlist_main']} {_format(statuses.get('playlist'))}
{TABLES['search_main']} {_format(statuses.get('search'))}
{TABLES['radio_main']} {_format(statuses.get('radio'))}
Tableau hyper update jobs started successfully: {hypers_ok}
""" smtp.send_newsletter( subject="Discovery Dashboard Update Status", html=body, sender=EMAIL_SENDER, to=EMAIL_SENDER, sender_alias=EMAIL_SENDER_ALIAS, ) logger.success("Status email sent")