Skip to content
Snippets Groups Projects
Commit eb3a90e4 authored by David Trattnig's avatar David Trattnig
Browse files

Moved mailer package and added docs.

parent b3c432e0
No related branches found
No related tags found
No related merge requests found
...@@ -29,7 +29,7 @@ import json ...@@ -29,7 +29,7 @@ import json
from modules.communication.liquidsoap.playerclient import LiquidSoapPlayerClient from modules.communication.liquidsoap.playerclient import LiquidSoapPlayerClient
# from modules.communication.liquidsoap.recorderclient import LiquidSoapRecorderClient # from modules.communication.liquidsoap.recorderclient import LiquidSoapRecorderClient
from modules.communication.liquidsoap.initthread import LiquidSoapInitThread 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.enum.auraenumerations import TerminalColors, ScheduleEntryType
from libraries.exceptions.auraexceptions import LQConnectionError from libraries.exceptions.auraexceptions import LQConnectionError
......
...@@ -28,22 +28,58 @@ from libraries.exceptions.auraexceptions import MailingException ...@@ -28,22 +28,58 @@ from libraries.exceptions.auraexceptions import MailingException
class AuraMailer(): class AuraMailer():
"""
Service to send emails to Aura administrators.
"""
config = None config = None
# ------------------------------------------------------------------------------------------ #
def __init__(self, config): 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.config = config
self.admin_mails = config.get("admin_mail") self.admin_mails = config.get("admin_mail")
# ------------------------------------------------------------------------------------------ #
#
# PUBLIC METHODS
#
def send_admin_mail(self, subject, body): 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() admin_mails = self.admin_mails.split()
for mail_to in admin_mails: for mail_to in admin_mails:
self.__send(mail_to, subject, body) self.__send(mail_to, subject, body)
# ------------------------------------------------------------------------------------------ #
#
# PRIVATE METHODS
#
def __send(self, mail_to, subject, body): 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 # read config
mail_server = self.config.get("mail_server") mail_server = self.config.get("mail_server")
mail_port = self.config.get("mail_server_port") mail_port = self.config.get("mail_server_port")
......
...@@ -27,7 +27,7 @@ import logging ...@@ -27,7 +27,7 @@ import logging
import datetime import datetime
from libraries.database.statestore import RedisStateStore 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.exceptions.auraexceptions import PlaylistException
from libraries.enum.auraenumerations import RedisChannel from libraries.enum.auraenumerations import RedisChannel
from libraries.base.logger import AuraLogger from libraries.base.logger import AuraLogger
......
...@@ -27,7 +27,7 @@ import datetime ...@@ -27,7 +27,7 @@ import datetime
import threading import threading
from collections import namedtuple 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 MailingException
from libraries.exceptions.auraexceptions import DiskSpaceException from libraries.exceptions.auraexceptions import DiskSpaceException
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment