From 29da0a7ca6a2ffcef789a632c47c56cbcf10f785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Sat, 7 Apr 2018 15:21:13 +0200 Subject: [PATCH 1/2] Implement first version of LinearFSM --- lib/tfw/__init__.py | 1 + lib/tfw/linear_fsm.py | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 lib/tfw/linear_fsm.py diff --git a/lib/tfw/__init__.py b/lib/tfw/__init__.py index ab6c8a6..a97731f 100644 --- a/lib/tfw/__init__.py +++ b/lib/tfw/__init__.py @@ -3,3 +3,4 @@ from .event_handler_base import TriggerlessEventHandler, TriggeredEventHandler from .fsm_base import FSMBase +from .linear_fsm import LinearFSM diff --git a/lib/tfw/linear_fsm.py b/lib/tfw/linear_fsm.py new file mode 100644 index 0000000..f5a63ba --- /dev/null +++ b/lib/tfw/linear_fsm.py @@ -0,0 +1,9 @@ +from .fsm_base import FSMBase + + +class LinearFSM(FSMBase): + def __init__(self, number_of_steps): + self.states = list(map(str, range(number_of_steps))) + self.transitions = [{'trigger': 'step', 'source': index, 'dest': str(int(index)+1)} + for index in self.states[:-1]] + super(LinearFSM, self).__init__() From dbe6fe0f923f57063d1fc7eb03398c9f21a2a55b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Tue, 10 Apr 2018 12:48:53 +0200 Subject: [PATCH 2/2] Add license boilerplate to linear_fsm.py --- lib/tfw/linear_fsm.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/tfw/linear_fsm.py b/lib/tfw/linear_fsm.py index f5a63ba..2725ff8 100644 --- a/lib/tfw/linear_fsm.py +++ b/lib/tfw/linear_fsm.py @@ -1,3 +1,6 @@ +# Copyright (C) 2018 Avatao.com Innovative Learning Kft. +# All Rights Reserved. See LICENSE file for details. + from .fsm_base import FSMBase