mirror of
				https://github.com/avatao-content/baseimage-tutorial-framework
				synced 2025-11-04 10:22:56 +00:00 
			
		
		
		
	Trigger first step in an individual event handler
This commit is contained in:
		
				
					committed by
					
						
						therealkrispet
					
				
			
			
				
	
			
			
			
						parent
						
							1f813a2138
						
					
				
				
					commit
					ddb47d696c
				
			@@ -1,4 +1,5 @@
 | 
			
		||||
from .console_logs_handler import ConsoleLogsHandler
 | 
			
		||||
from .frontend_proxy_handler import FrontendProxyHandler
 | 
			
		||||
from .frontend_ready_handler import FrontendReadyHandler
 | 
			
		||||
from .message_queue_handler import MessageQueueHandler
 | 
			
		||||
from .message_sender import MessageSender
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								tfw/components/frontend/frontend_ready_handler.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								tfw/components/frontend/frontend_ready_handler.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
import logging
 | 
			
		||||
 | 
			
		||||
from tfw.internals.crypto import KeyManager, sign_message
 | 
			
		||||
 | 
			
		||||
LOG = logging.getLogger(__name__)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FrontendReadyHandler:
 | 
			
		||||
    keys = ['frontend.ready', 'fsm.update']
 | 
			
		||||
 | 
			
		||||
    def __init__(self, initial_trigger):
 | 
			
		||||
        self.connector = None
 | 
			
		||||
        self._auth_key = KeyManager().auth_key
 | 
			
		||||
        self.initial_trigger = initial_trigger
 | 
			
		||||
 | 
			
		||||
        self.commands = {
 | 
			
		||||
            'frontend.ready': self.handle_ready,
 | 
			
		||||
            'fsm.update': self.handle_update
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    def handle_event(self, message, _):
 | 
			
		||||
        try:
 | 
			
		||||
            self.commands[message['key']]()
 | 
			
		||||
        except KeyError:
 | 
			
		||||
            LOG.error('IGNORING MESSAGE: Invalid message received: %s', message)
 | 
			
		||||
 | 
			
		||||
    def handle_ready(self):
 | 
			
		||||
        trigger = {
 | 
			
		||||
            'key': 'fsm.step',
 | 
			
		||||
            'trigger': self.initial_trigger
 | 
			
		||||
        }
 | 
			
		||||
        sign_message(self._auth_key, trigger)
 | 
			
		||||
        self.connector.send_message(trigger)
 | 
			
		||||
 | 
			
		||||
    def handle_update(self):
 | 
			
		||||
        self.stop()
 | 
			
		||||
 | 
			
		||||
    def stop(self):
 | 
			
		||||
        pass
 | 
			
		||||
		Reference in New Issue
	
	Block a user