if not command_queue.empty(): command = command_queue.get() logger.info("-------------Received new command: %s----------------"%command) if command == 'unlock': for door in [door for door in doors.values() if door.initial_unlock == True]: logger.info("Unlocking %s"%door.name) door.unlock(relock_timeout=5) elif command == 'lock': for door in doors.values(): door.lock() command_queue.put('announce_closed') elif command == 'announce_open': announcer.announce_open() master.announce_open() elif command == 'announce_closed': announcer.announce_closed() master.announce_closed() elif command == 'toggle_announce': if announcer.open: command_queue.put('announce_closed') else: command_queue.put('announce_open') for d in doors: doors[d].tick() master.tick() announcer.tick() all_locked = True for d in doors: if not doors[d].locked: all_locked = False
if command == 'unlock': for door in [ door for door in doors.values() if door.initial_unlock == True ]: logger.info("Unlocking %s" % door.name) door.unlock(relock_timeout=5) elif command == 'lock': for door in doors.values(): door.lock() command_queue.put('announce_closed') elif command == 'announce_open': announcer.announce_open() master.announce_open() elif command == 'announce_closed': announcer.announce_closed() master.announce_closed() elif command == 'toggle_announce': if announcer.open: command_queue.put('announce_closed') else: command_queue.put('announce_open') for d in doors: doors[d].tick() master.tick() announcer.tick() all_locked = True for d in doors: if not doors[d].locked: all_locked = False