def run(self): self.calls = 0 def func(): self.calls += 1 debounced_func = debounce(func, 0.05) debounced_func() debounced_func() debounced_func() debounced_func() time.sleep(0.1) assert self.calls == 1
def down(): debounce(robot.robot_raise_5_clicks, raiseLowerTimeout)
def turnRight(): debounce(robot.odd_legs_turn, moveTimeout)
def turnLeft(): debounce(robot.even_legs_turn, moveTimeout)
def waddle(): debounce(robot.waddle_step, moveTimeout)
def forward(): # check for wall for auto mode debounce(robot.forward, moveTimeout)
def down(): debounce(robot.down, raiseLowerTimeout)
def up(): debounce(robot.up, raiseLowerTimeout)
def turnRight(): debounce(robot.turnRight, moveTimeout)
def turnLeft(): debounce(robot.turnLeft, moveTimeout)
def backward(): debounce(robot.backward, moveTimeout)
def forward(): debounce(robot.forward, moveTimeout)
parameters['path'] = args[index+1] index += 1 elif args[index] == '-w': parameters['watch'].append(args[index+1]) index += 1 elif args[index] == '-i': parameters['ignore'].append(args[index+1]) index += 1 index += 1 parameters['rest'] = ' '.join(args[index:]) parseArgs(sys.argv[1:]) command = getRunCommand(parameters['rest']) doCommandSoon = debounce(command, 0.05) print "Watching path", parameters['path'] print "Patterns", parameters['watch'] print "Ignoring patterns", parameters['ignore'] print "Will run command \"" + parameters['rest'] + "\"" eventHandler = CommandRunningEventHandler(doCommandSoon, parameters['watch'], parameters['ignore']) observer = Observer() observer.schedule(eventHandler, parameters['path'], recursive=True) observer.start() try: while True: time.sleep(0.2) except KeyboardInterrupt: