logging module now used to log interface events.

register, deregister method aliases added to Subject class.
This commit is contained in:
onyx-and-iris
2022-09-28 18:13:07 +01:00
parent db96872965
commit 23bc15e437
5 changed files with 38 additions and 8 deletions

View File

@@ -1,6 +1,11 @@
import logging
class Subject:
"""Adds support for observers"""
logger = logging.getLogger("subject.subject")
def __init__(self):
"""list of current observers"""
@@ -22,16 +27,26 @@ class Subject:
if observer not in self._observers:
self._observers.append(observer)
self.logger.info(f"{type(observer).__name__} added to event observers")
else:
print(f"Failed to add: {observer}")
self.logger.error(
f"Failed to add {type(observer).__name__} to event observers"
)
register = add
def remove(self, observer):
"""removes an observer from _observers"""
try:
self._observers.remove(observer)
self.logger.info(f"{type(observer).__name__} removed from event observers")
except ValueError:
print(f"Failed to remove: {observer}")
self.logger.error(
f"Failed to remove {type(observer).__name__} from event observers"
)
deregister = remove
def clear(self):
"""clears the _observers list"""