Python State-Machine library
Project Description
Easy State-Machine for python
from easystate import * import time SPEED = 1
- class Starting(State):
- def eval(self):
- print ‘Starting’ time.sleep(SPEED)
- def on_start(self,e):
- print “Hello”
- def on_finish(self,e):
- self.transition(“Listening”)
class Listening(State):
- def eval(self):
- print ‘Listening’ time.sleep(SPEED) self.raiseEvent(“connect”)
- def on_start(self,e):
- print “Preparing for listening”
- def on_connect(self,e):
- self.transition(‘Negotiation’)
- class Negotiation(State):
- def eval(self):
- print ‘checking validity’ time.sleep(SPEED) print ‘authenticating’ time.sleep(SPEED) print ‘registering’ self.transition(“Connected”)
- def on_start(self,e):
- print ‘Negotiating’
- class Connected(State):
- def eval(self):
- print ‘Connected’
- def on_finish(self,e):
- self.transition(“Listening”)
m = StateMachine(initialState=”Starting”) m.appendState(Starting()) m.appendState(Listening()) m.appendState(Negotiation()) m.appendState(Connected()) m.start()
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
easystate-0.3-py2.7.egg (5.1 kB) Copy SHA256 hash SHA256 | Egg | 2.7 | Mar 24, 2013 |
easystate-0.3.tar.gz (2.7 kB) Copy SHA256 hash SHA256 | Source | None | Mar 24, 2013 |