mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2025-06-28 17:45:11 +00:00
Create initial implementation for solution check
This commit is contained in:
@ -1,11 +1,14 @@
|
||||
from typing import List
|
||||
|
||||
from transitions import Machine
|
||||
|
||||
|
||||
class FSMBase:
|
||||
states, transitions = [], []
|
||||
|
||||
def __init__(self, initial: str = None):
|
||||
def __init__(self, initial: str = None, accepted_states: List[str] = None):
|
||||
self.message_handlers = []
|
||||
self.accepted_states = accepted_states or [self.states[-1]]
|
||||
self.machine = Machine(model=self,
|
||||
states=self.states,
|
||||
transitions=self.transitions,
|
||||
@ -24,3 +27,6 @@ class FSMBase:
|
||||
|
||||
def unsubscribe_message_handler(self, msghandler):
|
||||
self.message_handlers.remove(msghandler)
|
||||
|
||||
def is_solved(self):
|
||||
return self.state in self.accepted_states
|
||||
|
Reference in New Issue
Block a user