my senf to tyshell (code beauty farm)
authorConstantin <constantin@exxxtremesys.lu>
Sun, 15 Sep 2013 12:19:09 +0000 (14:19 +0200)
committerConstantin <constantin@exxxtremesys.lu>
Sun, 15 Sep 2013 12:19:09 +0000 (14:19 +0200)
tyshell

diff --git a/tyshell b/tyshell
index 34ef515cbc8bccb05476368efcafc23ba44f7d8a..090403e4dffc84762b44dc63d7cf1df28f1d4242 100755 (executable)
--- a/tyshell
+++ b/tyshell
@@ -9,6 +9,7 @@ import socket
 tuerSock = "/run/tuer.sock"
 
 # use a histfile
+# FIXME: Why not ".tyshellhist"?
 histfile = os.path.join(os.path.expanduser("~"), ".pyshellhist")
 try:
     readline.read_history_file(histfile)
@@ -16,6 +17,7 @@ except IOError:
     pass
 import atexit
 atexit.register(readline.write_history_file, histfile)
+atexit.register(print, "Bye")
 
 # available commands
 def help(c):
@@ -41,8 +43,11 @@ def sendcmd(addr, cmd):
                        print("Received unexpected answer %s" % str(data))
        return run
 
+def exitcmd(c):
+       sys.exit(0)
+
 commands = {
-       'exit': None, # catched below, quits the loop
+       'exit': exitcmd,
        'help': help,
        'open': sendcmd(tuerSock, 'open'),
        'close': sendcmd(tuerSock, 'close'),
@@ -60,13 +65,11 @@ while True:
        command = shlex.split(command)
        if not len(command): continue
        # execute command
-       if command[0] == "exit":
-               break
-       elif command[0] in commands:
+       if command[0] in commands:
                try:
                        commands[command[0]](command)
                except Exception as e:
                        print("Error while executing %s: %s" % (command[0], str(e)))
        else:
                print("Command %s not found. Use help." % command[0])
-print("Bye")
+