diff options
author | Miklos Vajna <vmiklos@frugalware.org> | 2008-01-12 22:18:21 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@frugalware.org> | 2008-01-12 22:18:21 +0100 |
commit | eeeb30e43cdc2b3f648040404bebb557e0075422 (patch) | |
tree | 90c77e6c0fd72b5d6b3360d620717467d69d26cc | |
parent | 10a42d94c44b245588ee24ac87fb81666ce6007e (diff) |
skyped: catch KeyboardInterrupts everywhere
-rw-r--r-- | skype/skyped.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/skype/skyped.py b/skype/skyped.py index 0966efdd..15c67dce 100644 --- a/skype/skyped.py +++ b/skype/skyped.py @@ -37,12 +37,22 @@ import threading import sha from ConfigParser import ConfigParser from OpenSSL import SSL +from traceback import print_exception +#from exceptions import KeyboardInterrupt __version__ = "0.1.1" SKYPE_SERVICE = 'com.Skype.API' CLIENT_NAME = 'SkypeApiPythonShell' +def eh(type, value, tb): + if type == KeyboardInterrupt: + sys.exit("Exiting.") + print_exception(type, value, tb) + sys.exit(1) + +sys.excepthook = eh + def input_handler(fd, io_condition): global options if options.buf: @@ -60,10 +70,7 @@ def idle_handler(skype): skype.skype.SendCommand(skype.skype.Command(-1, "PING")) except Skype4Py.SkypeAPIError, s: dprint("Warning, pinging Skype failed (%s)." % (s)) - try: time.sleep(2) - except KeyboardInterrupt: - sys.exit("Exiting.") return True def server(host, port): |