mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2024-12-23 02:31:56 +00:00
Use fresh messaging instances for each event handler
This commit is contained in:
parent
6246baa675
commit
8244e22479
@ -1,9 +1,11 @@
|
||||
import json
|
||||
|
||||
from messaging import Messaging
|
||||
|
||||
|
||||
class EventHandlerBase:
|
||||
def __init__(self, messaging, anchor):
|
||||
self.messaging = messaging
|
||||
def __init__(self, anchor):
|
||||
self.messaging = Messaging()
|
||||
self.anchor = anchor
|
||||
self.messaging.subscribe(self.anchor)
|
||||
self.subscriptions = {self.anchor}
|
||||
|
@ -85,10 +85,10 @@ class LoginHandler(EventHandlerBase):
|
||||
|
||||
if __name__ == '__main__':
|
||||
messaging = Messaging()
|
||||
anchor_a = ChangeCaseHandler(messaging, 'anchor_a')
|
||||
anchor_b = Rot13Handler(messaging, 'anchor_b')
|
||||
anchor_c = ReverseHandler(messaging, 'anchor_c')
|
||||
anchor_webide = SourceCodeEventHandler(messaging, 'anchor_webide', 'login_component.py', 'login')
|
||||
anchor_terminado = TerminadoEventHandler(messaging, 'anchor_terminado', 'terminado')
|
||||
anchor_a = ChangeCaseHandler('anchor_a')
|
||||
anchor_b = Rot13Handler('anchor_b')
|
||||
anchor_c = ReverseHandler('anchor_c')
|
||||
anchor_webide = SourceCodeEventHandler('anchor_webide', 'login_component.py', 'login')
|
||||
anchor_terminado = TerminadoEventHandler('anchor_terminado', 'terminado')
|
||||
IOLoop.instance().start()
|
||||
|
||||
|
@ -9,8 +9,8 @@ from event_handler_base import EventHandlerBase
|
||||
|
||||
|
||||
class SourceCodeEventHandler(EventHandlerBase, SupervisorMixin):
|
||||
def __init__(self, messaging, anchor, filename, process_name=None):
|
||||
super().__init__(messaging, anchor)
|
||||
def __init__(self, anchor, filename, process_name=None):
|
||||
super().__init__(anchor)
|
||||
self.working_directory = LOGIN_APP_DIR
|
||||
self.filename = filename
|
||||
self.language = map_file_extension_to_language(filename)
|
||||
|
@ -4,8 +4,8 @@ from event_handler_base import EventHandlerBase
|
||||
|
||||
|
||||
class StatefulEventHandler(EventHandlerBase):
|
||||
def __init__(self, messaging, anchor, event_handler_function):
|
||||
super().__init__(messaging, anchor)
|
||||
def __init__(self, anchor, event_handler_function):
|
||||
super().__init__(anchor)
|
||||
self.event_handler_function = event_handler_function
|
||||
self.generator = None
|
||||
self.subscribe('reset')
|
||||
|
@ -9,8 +9,8 @@ from config import TERMINADO_DIR
|
||||
|
||||
|
||||
class TerminadoEventHandler(EventHandlerBase, SupervisorMixin):
|
||||
def __init__(self, messaging, anchor, process_name):
|
||||
super().__init__(messaging, anchor)
|
||||
def __init__(self, anchor, process_name):
|
||||
super().__init__(anchor)
|
||||
self.working_directory = TERMINADO_DIR
|
||||
self.process_name = process_name
|
||||
self.setup_terminado_server()
|
||||
|
Loading…
Reference in New Issue
Block a user