diff --git a/lib/tfw/fsm_base.py b/lib/tfw/fsm_base.py index 28b5ef6..2de2b43 100644 --- a/lib/tfw/fsm_base.py +++ b/lib/tfw/fsm_base.py @@ -24,6 +24,7 @@ class FSMBase(Machine, CallbackMixin): def __init__(self, initial=None, accepted_states=None): self.accepted_states = accepted_states or [self.states[-1]] self.trigger_predicates = defaultdict(list) + self.trigger_history = [] Machine.__init__( self, @@ -61,5 +62,6 @@ class FSMBase(Machine, CallbackMixin): if all(predicate_results): try: self.trigger(trigger) + self.trigger_history.append(trigger) except (AttributeError, MachineError): LOG.debug('FSM failed to execute nonexistent trigger: "%s"', trigger)