1
0
mirror of https://github.com/binary-kitchen/doorlockd synced 2024-12-22 10:24:26 +01:00

doorlockd.py: improve startup scripts

Signed-off-by: Ralf Ramsauer <ralf@binary-kitchen.de>
This commit is contained in:
Ralf Ramsauer 2018-03-26 20:50:49 +00:00
parent 04ef5219d3
commit 0ae60848cf

View File

@ -120,6 +120,14 @@ def start_hook(script):
Popen(['nohup', script]) Popen(['nohup', script])
def run_lock():
start_hook('./scripts/post_lock')
def run_unlock():
start_hook('./scripts/post_unlock')
class AuthMethod(Enum): class AuthMethod(Enum):
LDAP_USER_PW = 1 LDAP_USER_PW = 1
@ -198,6 +206,8 @@ class DoorHandler:
def handle_input(self, recv, expect=None): def handle_input(self, recv, expect=None):
if recv == DoorHandler.BUTTON_LOCK_PRESS: if recv == DoorHandler.BUTTON_LOCK_PRESS:
playsound(wave_lock_button) playsound(wave_lock_button)
if self.state == DoorState.Open:
run_lock()
self.state = DoorState.Close self.state = DoorState.Close
logic.emit_status(LogicResponse.ButtonLock) logic.emit_status(LogicResponse.ButtonLock)
elif recv == DoorHandler.BUTTON_UNLOCK_PRESS: elif recv == DoorHandler.BUTTON_UNLOCK_PRESS:
@ -242,7 +252,7 @@ class DoorHandler:
return LogicResponse.AlreadyOpen return LogicResponse.AlreadyOpen
self.state = DoorState.Open self.state = DoorState.Open
start_hook('./scripts/post_unlock') run_unlock()
return LogicResponse.Success return LogicResponse.Success
def close(self): def close(self):
@ -250,7 +260,7 @@ class DoorHandler:
return LogicResponse.AlreadyLocked return LogicResponse.AlreadyLocked
self.state = DoorState.Close self.state = DoorState.Close
start_hook('./scripts/post_lock') run_lock()
return LogicResponse.Success return LogicResponse.Success
def request(self, state): def request(self, state):