From cc13f5299417b0a08db0399cee9c548013c87513 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Sat, 15 Aug 2009 12:03:02 +0200 Subject: Correctly handle exceptions --- portato/__init__.py | 5 ++++- portato/listener.py | 13 +++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'portato') diff --git a/portato/__init__.py b/portato/__init__.py index 433c89a..74145e7 100644 --- a/portato/__init__.py +++ b/portato/__init__.py @@ -126,4 +126,7 @@ def start(): get_listener().close() lt.join() - mq.remove() + try: + mq.remove() + except ipc.MessageQueueRemovedError: + debug("MessageQueue already removed. Ignore.") diff --git a/portato/listener.py b/portato/listener.py index aa9e31d..c96b637 100644 --- a/portato/listener.py +++ b/portato/listener.py @@ -21,7 +21,8 @@ except ImportError: pynotify = None from .constants import APP -from .helper import debug, warning +from .helper import debug, warning, error +from . import ipc class Listener (object): """This class handles the communication between the "listener" and the GUI. @@ -52,6 +53,9 @@ class Listener (object): except KeyboardInterrupt: debug("Got KeyboardInterrupt. Aborting.") break + except ipc.MessageQueueRemovedError: + debug("MessageQueue removed. Aborting.") + break self.mq = None @@ -81,12 +85,13 @@ class Listener (object): warning(_("Listener has not been started.")) self.mq = None else: - from . import ipc - self.mq = ipc.MessageQueue(mq) def __send (self, string): - self.mq.send(string) + try: + self.mq.send(string) + except ipc.MessageQueueError, e: + error(_("An exception occured while accessing the message queue: %s"), e) def send_notify (self, base = "", descr = "", icon = "", urgency = None): if self.mq is None: -- cgit v1.2.3