study_state_machine package¶
Subpackages¶
Submodules¶
study_state_machine.context module¶
Implementation of a finite state machine for studies
-
class
study_state_machine.context.Context(available_states, initial_state=None)¶ Bases:
objectOnly if an initial state is passed to the constructor, the context of the current state is set. Otherwise, call
transition_to()orload_state()with a name of a State, respectively-
add_sample(*args, **kwargs)¶
-
property
available_states¶
-
change_state(*args, **kwargs)¶
-
create_study(*args, **kwargs)¶
-
property
current_state¶
-
get_state_dict(state_name)¶
-
load_state(state_name)¶ Load state with given name
- Parameters
state_name – Name of the state
- Raises
StateNotFoundException – If the state is not found
-
parse_strategies(strategies, *args, **kwargs)¶ Parse strategies list and return a state to be transitioned to
-
transition_to(state_name)¶ Set state as the new current state and set its context
- Parameters
state_name – new current state
-
study_state_machine.errors module¶
Collection of state machine related exceptions.
All exceptions inherit from StateMachineException
-
exception
study_state_machine.errors.BehaviorNotAllowedException¶ Bases:
study_state_machine.errors.StateMachineExceptionException if a state does not support a behavior
-
exception
study_state_machine.errors.StateMachineException¶ Bases:
ExceptionGeneric state machine error
-
exception
study_state_machine.errors.StateNotFoundException¶ Bases:
study_state_machine.errors.StateMachineExceptionException if state is not found by its name
study_state_machine.interfaces module¶
-
class
study_state_machine.interfaces.IState(context=None)¶ Bases:
abc.ABCBase class for all states.
The state has a reference to the context in order to change into the next state.
-
property
context¶
-
property
-
class
study_state_machine.interfaces.IStudyState(context=None)¶ Bases:
study_state_machine.interfaces.IStateBase class for all study states
-
add_sample(*args, **kwargs)¶
-
change_state(*args, **kwargs)¶
-
create_study(*args, **kwargs)¶
-