11 sys.path.insert(0,"../src")
12 import gvoice.state_machine as state_machine
17 def __init__(self, startTime):
18 self._startTime = startTime
20 def update(self, force = False):
21 print "%s\t%r: force=%r" % (datetime.datetime.now() - self._startTime, self, force)
28 gtk.main_iteration(block=False)
35 logging.basicConfig(level=logging.DEBUG)
36 startTime = datetime.datetime.now()
39 mainLoop = threading.Thread(target=loop(state))
40 mainLoop.setDaemon(False)
43 state_machine.StateMachine._IS_DAEMON = False
45 regular = _I(startTime)
46 print "Regular:", regular
48 sm = state_machine.UpdateStateMachine([regular])
49 sm.set_state_strategy(
50 state_machine.StateMachine.STATE_DND,
51 state_machine.NopStateStrategy(),
53 sm.set_state_strategy(
54 state_machine.StateMachine.STATE_IDLE,
55 state_machine.ConstantStateStrategy(state_machine.to_milliseconds(seconds=30)),
57 sm.set_state_strategy(
58 state_machine.StateMachine.STATE_ACTIVE,
59 state_machine.GeometricStateStrategy(
60 state_machine.to_milliseconds(seconds=3),
61 state_machine.to_milliseconds(seconds=3),
62 state_machine.to_milliseconds(seconds=20),
65 print "Starting", datetime.datetime.now() - startTime
67 time.sleep(60.0) # seconds
68 print "Reseting timers", datetime.datetime.now() - startTime
70 time.sleep(60.0) # seconds
71 print "Switching to IDLE", datetime.datetime.now() - startTime
72 sm.set_state(state_machine.StateMachine.STATE_IDLE)
73 time.sleep(10.0) # seconds
74 print "Stopping", datetime.datetime.now() - startTime
80 if __name__ == "__main__":