diff options
Diffstat (limited to 'kandidtube.py')
-rw-r--r-- | kandidtube.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/kandidtube.py b/kandidtube.py index c0db871..8be7211 100644 --- a/kandidtube.py +++ b/kandidtube.py @@ -1,5 +1,5 @@ # coding: UTF-8 -# Copyright 2009 Thomas Jourdan +# Copyright 2009, 2010 Thomas Jourdan # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,14 +15,14 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -import sys import traceback +import sys import hashlib import base64 from dbus.service import method, signal from dbus.gobject_service import ExportedGObject -import telepathy +#!!import telepathy import ka_debug import ka_status @@ -63,10 +63,18 @@ class KandidTube(ExportedGObject): (handle, buddy.props.nick)) self._participating_buddies |= set([buddy.props.nick]) for handle in removed: - buddy = self._get_buddy(handle) + nickname = '?' + buddy = None + try: + buddy = self._get_buddy(handle) + nickname = buddy.props.nick + except: + ka_debug.err('get buddy failed [%s] [%s]' % \ + (sys.exc_info()[0], sys.exc_info()[1])) + traceback.print_exc(file=sys.__stderr__) if buddy is not None: - ka_debug.info('Buddy [%s] was removed' % buddy.props.nick) - self._participating_buddies -= set([buddy.props.nick]) + ka_debug.info('Buddy [%s] was removed' % nickname) + self._participating_buddies -= set([nickname]) self._status.set(ka_status.TOPIC_COLLABORATION, ka_status.SUB_BUDDIES_PARTICIPATING, self._participating_buddies) |