[[-- sample use of automaton Spyce module; see automaton.py --]] [[.import name=automaton]] [[.import name=session1 args="'session_dir', '/tmp', auto=10"]] [[\ if not session.auto: session.auto = { 'name': '', } step1send = [[spy:
]] def step1recv(): if request.post1('dir') == 'next': return 'next' step2send = [[spy: ]] def step2recv(): if request.post1('dir') == 'prev': return 'prev' if request.post1('dir') == 'next': return 'next' step3send = [[spy: ]] def step3recv(): if request.post1('dir') == 'prev': return 'prev' if request.post1('dir') == 'next': return 'next' step4send = [[spy: Thanks. ]] def step4recv(): pass automaton.define({ 'step1': ( step1send, step1recv, { 'next': 'step2', }), 'step2': ( step2send, step2recv, { 'next': 'step3', 'prev': 'step1', }), 'step3': ( step3send, step3recv, { 'next': 'step4', 'prev': 'step2', }), 'step4': ( step4send, step4recv, { }), }, 'step1') state = request.post1('state') automaton.step(state) ]] [[-- spyce file spyce inline function or method reference inline code --]]