def keypad(apikey, code, command): try: api_check(apikey) except ApikeyException: return "invalid apikey" if code not in CODES: return "invalid code" if CODES[code] == "mountain men": if gates_control.top_gate.keep_open_enabled == True and gates_control.our_gate.keep_open_enabled == True: gates_control.top_gate.stop_keep_open() gates_control.our_gate.stop_keep_open() else: gates_control.top_gate.start_keep_open() gates_control.our_gate.start_keep_open() return "done" if "1" in command: gates_control.top_gate.open() if "2" in command: gates_control.our_gate.open() if "3" in command: gates_control.garage.open() if "5" in command: alarm_control.everything.toggle()
def gate(apikey, gate, command): try: assert gate in ["top_gate", "our_gate", "garage"] assert command in ["open", "close", "trigger", "pedestrian", "stop_keep_open", "start_keep_open"] except AssertionError: return "invalid command" try: api_check(apikey) except ApikeyException: return "invalid apikey" try: getattr(getattr(gates_control, gate), command)() return "done" except BackendException as e: return str(e)
def gates(apikey, command): try: api_check(apikey) except ApikeyException: return "invalid apikey" assert command in ["secure_open", "normal_open"] if command == "secure_open": gates_control.top_gate.open() while gates_control.top_gate.status != "fully closed": time.sleep(3) gates_control.our_gate.open() return "done" elif command == "normal_open": gates_control.top_gate.open() gates_control.our_gate.open()
def gate(apikey, gate, command): try: assert gate in ["top_gate", "our_gate", "garage"] assert command in [ "open", "close", "trigger", "pedestrian", "stop_keep_open", "start_keep_open" ] except AssertionError: return "invalid command" try: api_check(apikey) except ApikeyException: return "invalid apikey" try: getattr(getattr(gates_control, gate), command)() return "done" except BackendException as e: return str(e)