From de18e68e56cd486b849aaa792d25e6af5d8099fc Mon Sep 17 00:00:00 2001 From: Rafael Schimassek <victoryshima@gmail.com> Date: Wed, 27 Oct 2021 11:09:48 -0300 Subject: [PATCH] Host message logging is now a public method. --- src/silvio/host.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/silvio/host.py b/src/silvio/host.py index fafa6de..853dc0f 100644 --- a/src/silvio/host.py +++ b/src/silvio/host.py @@ -184,6 +184,14 @@ class Host (ABC) : + def log ( self, text:str, depth:Optional[int] = 1 ) -> None : + """ + Log a message in the event log. + """ + self.event_log.append( ("- " * depth) + text ) + + + def emit ( self, event: Event, chain: List[ListenerEntry] = [] ) -> None : """ Trigger all listeners for a given Event. @@ -201,7 +209,7 @@ class Host (ABC) : # Run the listener with the emitted event and append to chain to keep track. new_chain = chain + [le] emit = lambda event : self.emit( event, new_chain ) - log = lambda text : self.event_log.append( "- " * len(new_chain) + text ) + log = lambda text : self.log( text, len(new_chain)+1 ) le.run( event, emit, log ) @@ -219,7 +227,7 @@ class Host (ABC) : This cannot be included inside the module __init__ because all listeners have to be set. """ emit = lambda event : self.emit( event, [] ) - log = lambda text : self.event_log.append( text ) + log = lambda text : self.log( text ) for mod in modules : mod.sync( emit, log ) @@ -233,5 +241,7 @@ class Host (ABC) : def print_event_log ( self ) -> None : + print("Event Log for {}:".format(self.name)) + print("=" * (len(self.name) + 15)) for ev in self.event_log : print(ev) -- GitLab