X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/d084286e81b121106a0a165e3c151762635466e0..73cd08c855a77bc0df90d6e94f6d75d42d6f5e5e:/tysock.py?ds=sidebyside diff --git a/tysock.py b/tysock.py index 11b5183..b987567 100644 --- a/tysock.py +++ b/tysock.py @@ -27,6 +27,10 @@ class TySocket(): CMDs = { b'buzz': StateMachine.CMD_BUZZ, b'unlock': StateMachine.CMD_UNLOCK, + b'lock': StateMachine.CMD_LOCK, + b'fallback_mode_on': StateMachine.CMD_FALLBACK_ON, + b'fallback_mode_off': StateMachine.CMD_FALLBACK_OFF, + b'status': StateMachine.CMD_STATUS, } def __init__(self, sm): @@ -69,10 +73,14 @@ class TySocket(): if data in self.CMDs: self._sm.callback(self.CMDs[data], self._answer(conn)) # _answer will be called, and it will close the connection + continue # make sure we break so we don't close it else: waynesend(conn, 'Command not found') - conn.close() except KeyboardInterrupt: raise # forward Ctrl-C to the outside + except socket.timeout: + # it's okay + logger.info("TySocket: Connection timed out") except Exception as e: logger.critical("TySocket: Something went wrong: %s" % str(e)) + conn.close()