Switch to side-by-side view

--- a
+++ b/Projects/NCS1/Classes/Helpers.py
@@ -0,0 +1,84 @@
+############################################################################################
+#
+# Project:       Peter Moss Acute Myeloid & Lymphoblastic Leukemia AI Research Project
+# Repository:    ALL Detection System 2019
+# Project:       Facial Authentication Server
+#
+# Author:        Adam Milton-Barker (AdamMiltonBarker.com)
+# Contributors:
+# Title:         Helpers Class
+# Description:   Helpers class for the ALL Detection System 2019 NCS1 Classifier.
+# License:       MIT License
+# Last Modified: 2020-07-16
+#
+############################################################################################
+
+import json, logging, sys, time
+import logging.handlers as handlers
+
+from datetime import datetime
+
+
+class Helpers():
+    """ Helper Class
+
+    Common helper functions for the ALL Detection System 2019 NCS1 Classifier.
+    """
+
+    def __init__(self, loggerType):
+        """ Initializes the Helpers Class. """
+
+        self.confs = {}
+        self.loadConfs()
+
+        self.logger = logging.getLogger(loggerType)
+        self.logger.setLevel(logging.INFO)
+
+        formatter = logging.Formatter(
+            '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+
+        allLogHandler = handlers.TimedRotatingFileHandler(
+            self.confs["Settings"]["Logs"] + 'all.log', when='H', interval=1, backupCount=0)
+        allLogHandler.setLevel(logging.INFO)
+        allLogHandler.setFormatter(formatter)
+
+        errorLogHandler = handlers.TimedRotatingFileHandler(
+            self.confs["Settings"]["Logs"] + 'error.log', when='H', interval=1, backupCount=0)
+        errorLogHandler.setLevel(logging.ERROR)
+        errorLogHandler.setFormatter(formatter)
+
+        warningLogHandler = handlers.TimedRotatingFileHandler(
+            self.confs["Settings"]["Logs"] + 'warning.log', when='H', interval=1, backupCount=0)
+        warningLogHandler.setLevel(logging.WARNING)
+        warningLogHandler.setFormatter(formatter)
+
+        consoleHandler = logging.StreamHandler(sys.stdout)
+        consoleHandler.setFormatter(formatter)
+
+        self.logger.addHandler(allLogHandler)
+        self.logger.addHandler(errorLogHandler)
+        self.logger.addHandler(warningLogHandler)
+        self.logger.addHandler(consoleHandler)
+
+        self.logger.info("Helpers class initialization complete.")
+
+    def loadConfs(self):
+        """ Load the  ALL Detection System 2019 NCS1 Classifier configuration. """
+
+        with open('Required/confs.json') as confs:
+            self.confs = json.loads(confs.read())
+
+    def currentDateTime(self):
+        """ Gets the current date and time in words. """
+
+        return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
+
+    def timerStart(self):
+        """ Starts the timer. """
+
+        return str(datetime.now()), time.time()
+
+    def timerEnd(self, start):
+        """ Ends the timer. """
+
+        return time.time(), (time.time() - start), str(datetime.now())