From eb3a90e4407991c03762d184fd38de69763aa079 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Tue, 25 Feb 2020 17:16:36 +0100
Subject: [PATCH] Moved mailer package and added docs.

---
 .../communication/liquidsoap/communicator.py  |  2 +-
 modules/communication/{mail => }/mail.py      | 42 +++++++++++++++++--
 modules/communication/redis/messenger.py      |  2 +-
 modules/monitoring/diskspace_watcher.py       |  2 +-
 4 files changed, 42 insertions(+), 6 deletions(-)
 rename modules/communication/{mail => }/mail.py (78%)

diff --git a/modules/communication/liquidsoap/communicator.py b/modules/communication/liquidsoap/communicator.py
index ddd1ee53..83696219 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 9e0072f6..4f6e9375 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 d489205d..793cccae 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 1644bfc6..f655a8c5 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
 
-- 
GitLab