Index: leahi_dialin/utils/base.py =================================================================== diff -u -r894abd4d8e62d20ba65ca78e443ffb5ea00c07ea -r6d104d3185ac3ed7c18c97ecdc13fd59bf53a8d1 --- leahi_dialin/utils/base.py (.../base.py) (revision 894abd4d8e62d20ba65ca78e443ffb5ea00c07ea) +++ leahi_dialin/utils/base.py (.../base.py) (revision 6d104d3185ac3ed7c18c97ecdc13fd59bf53a8d1) @@ -15,31 +15,17 @@ ############################################################################ import logging import os -from abc import ABC, abstractmethod from datetime import datetime -from enum import Enum from threading import Timer + INTERVAL_1s = 1 INTERVAL_5s = 5 INTERVAL_10s = 10 INTERVAL_60s = 60 -class AbstractObserver(ABC): - """ - Publicly accessible parent class for all observers. - The update method will receive data when data is made available - """ - @abstractmethod - def update(self): - """ - Attach an observer - """ - pass - - class _FauxLogger: def __init__(self, printing_enabled=False): @@ -77,11 +63,9 @@ def __init__(self, log_level=None, log_filepath="Dialin.log"): """ - @param log_level: (str) or (None) if not set, contains the logging level @param log_filepath: (str) the log filepath """ - self.log_level = log_level self.logging_enabled = self.log_level_enables_logging(log_level) self.log_filepath = self.get_available_log_path(log_filepath) @@ -125,7 +109,6 @@ @return: True if successful, False otherwise """ - # remove existing handlers if self.logger is not None: for handler in self.logger.handlers: @@ -199,7 +182,6 @@ @param filepath: The full path to the file @return: (str) The available log filepath """ - if not os.path.exists(filepath): return filepath @@ -210,32 +192,6 @@ return "{0}{1}{2}".format(path, i, ext) -class AbstractSubSystem: - - @abstractmethod - def __init__(self): - """ - Initialization function for the sub system - # The abstract base class requires all abstract methods are overridden by children classes - - """ - self._observers = [] - self._datetime_fmt = "%m.%d.%Y_%I.%M.%S.%f" - pass - - def attach(self, observer: AbstractObserver): - """ - Attach an observer so it is updated upon published events - """ - self._observers.append(observer) - - def detach(self, observer: AbstractObserver): - """ - Detach an observer - """ - self._observers.remove(observer) - - def publish(keys): """ Decorator that accepts a list of variable names to publish @@ -247,7 +203,6 @@ def _decorator(func): """ - @param func: The handler function @return: The function to wrap around _publish """ @@ -273,24 +228,6 @@ return _decorator -class DialinEnum(Enum): - - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ - - -class AlarmEnum(Enum): - def __init__(self, *args): - cls = self.__class__ - if any(self.value == member.value for member in cls): - raise ValueError("aliases not allowed: %r --> %r" % (self.name, cls(self.value).name)) - - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ - - class IntervalTimer(object): """ A class object that is used to execute a function on a timed interval. @@ -321,16 +258,3 @@ def stop(self): self._timer.cancel() self.is_running = False - - -class InternalEvent: - def __init__(self): - self._listeners = [] - - def add_listener(self, func): - self._listeners.append(func) - return func - - def trigger(self, *args, **kwargs): - for func in self._listeners: - func(*args, **kwargs)