add on_leave callback and use it; send email when the space was open for 24h (as...
[saartuer.git] / tyshell
diff --git a/tyshell b/tyshell
index 1b90bd0ed0cb306b28988f88b5282e997ac7ad70..f8627d214cf05c29f6d5cad27ee92a1d0d5f76fd 100755 (executable)
--- a/tyshell
+++ b/tyshell
@@ -5,6 +5,8 @@ import shlex
 import sys
 import subprocess
 import socket
+import pwd
+import grp
 
 tuerSock = "/run/tuer.sock"
 
@@ -30,12 +32,12 @@ def extcmd(cmd):
 
 def sendcmd(addr, cmd):
        def run(c):
-               print("Running %s..." % (cmd))
+               print("206 Sending command %s..." % (cmd))
                s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
                s.connect(addr)
-               s.settimeout(10.0)
+               s.settimeout(60.0)
                s.send(cmd.encode())
-               data = s.recv(4)
+               data = s.recv(256)
                s.close()
                print(data.decode('utf-8'))
        return run
@@ -44,12 +46,18 @@ def exitcmd(c):
        print("Bye")
        return True
 
+def whocmd(c):
+       for n in grp.getgrnam("tuer").gr_mem:
+               p = pwd.getpwnam(n)
+               print (p.pw_name, " - ", p.pw_gecos)
+
 commands = {
        'exit': exitcmd,
        'help': helpcmd,
        'open': sendcmd(tuerSock, 'unlock'),
        'unlock': sendcmd(tuerSock, 'unlock'),
        'buzz': sendcmd(tuerSock, 'buzz'),
+       'who': whocmd,
 }
 
 def complete_command(cmd):