diff --git a/modules/communication/liquidsoap/communicator.py b/modules/communication/liquidsoap/communicator.py index ddd1ee53335fded9a1dc6143e826feb0f0ba5ac1..83696219f21bf2def75d7c9a0054d4e94d4dd2cd 100644 --- a/modules/communication/liquidsoap/communicator.py +++ b/modules/communication/liquidsoap/communicator.py @@ -29,7 +29,7 @@ import json from modules.communication.liquidsoap.playerclient import LiquidSoapPlayerClient # from modules.communication.liquidsoap.recorderclient import LiquidSoapRecorderClient from modules.communication.liquidsoap.initthread import LiquidSoapInitThread -from modules.communication.mail.mail import AuraMailer +from modules.communication.mail import AuraMailer from libraries.enum.auraenumerations import TerminalColors, ScheduleEntryType from libraries.exceptions.auraexceptions import LQConnectionError diff --git a/modules/communication/mail/mail.py b/modules/communication/mail.py similarity index 78% rename from modules/communication/mail/mail.py rename to modules/communication/mail.py index 9e0072f61de4e22846f7dc329a4aa83d91732477..4f6e9375134f494659c26647826e72daca92de3b 100644 --- a/modules/communication/mail/mail.py +++ b/modules/communication/mail.py @@ -28,22 +28,58 @@ from libraries.exceptions.auraexceptions import MailingException class AuraMailer(): + """ + Service to send emails to Aura administrators. + """ config = None - # ------------------------------------------------------------------------------------------ # + + def __init__(self, config): + """ + Constructor to initialize service with Aura `config`. + + Args: + config (AuraConfig): The configuration with the mail server details + """ self.config = config self.admin_mails = config.get("admin_mail") - # ------------------------------------------------------------------------------------------ # + + + # + # PUBLIC METHODS + # + + def send_admin_mail(self, subject, body): + """ + Sends an email to the administrator as defined in the configuration. + + Args: + subject (String): The email's subject + body (String): The email's body text + """ admin_mails = self.admin_mails.split() for mail_to in admin_mails: self.__send(mail_to, subject, body) - # ------------------------------------------------------------------------------------------ # + + + # + # PRIVATE METHODS + # + + def __send(self, mail_to, subject, body): + """ + Sends an email to the given address. + + Args: + subject (String): The email's subject + body (String): The email's body text + """ # read config mail_server = self.config.get("mail_server") mail_port = self.config.get("mail_server_port") diff --git a/modules/communication/redis/messenger.py b/modules/communication/redis/messenger.py index d489205dff6909a4cd841e285f16d2afe3be6f3b..793cccae367b970194d84d85389acb79c7954ffc 100644 --- a/modules/communication/redis/messenger.py +++ b/modules/communication/redis/messenger.py @@ -27,7 +27,7 @@ import logging import datetime from libraries.database.statestore import RedisStateStore -from modules.communication.mail.mail import AuraMailer +from modules.communication.mail import AuraMailer from libraries.exceptions.auraexceptions import PlaylistException from libraries.enum.auraenumerations import RedisChannel from libraries.base.logger import AuraLogger diff --git a/modules/monitoring/diskspace_watcher.py b/modules/monitoring/diskspace_watcher.py index 1644bfc62d6732495f3e0d73c6155239620f868d..f655a8c54d05c615d9721fc213e587210e84f458 100644 --- a/modules/monitoring/diskspace_watcher.py +++ b/modules/monitoring/diskspace_watcher.py @@ -27,7 +27,7 @@ import datetime import threading from collections import namedtuple -from modules.communication.mail.mail import AuraMailer +from modules.communication.mail import AuraMailer from libraries.exceptions.auraexceptions import MailingException from libraries.exceptions.auraexceptions import DiskSpaceException