From 6f19b10222883d667a097393a513fbfcc2989c47 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 07 Mar 2007 12:15:38 +0000 Subject: catch the closed signal check if icon exists --- (limited to 'services') diff --git a/services/presence2/activity.py b/services/presence2/activity.py index 2ad484d..f528be0 100644 --- a/services/presence2/activity.py +++ b/services/presence2/activity.py @@ -115,6 +115,7 @@ class Activity(dbus.service.Object): def join(self): if not self._joined: self._activity_text_channel = self._tp.join_activity(self._activity_id) + self._activity_text_channel[CHANNEL_INTERFACE].connect_to_signal('Closed', self._activity_text_channel_closed_cb) self._joined = True def get_channels(self): @@ -125,4 +126,7 @@ class Activity(dbus.service.Object): def leave(self): if self._joined: self._activity_text_channel[CHANNEL_INTERFACE].Close() - self._joined = False + + def _activity_text_channel_closed_cb(self): + self._joined = False + self._activity_text_channel = None diff --git a/services/presence2/server_plugin.py b/services/presence2/server_plugin.py index 105b216..7d8ffc2 100644 --- a/services/presence2/server_plugin.py +++ b/services/presence2/server_plugin.py @@ -229,6 +229,9 @@ class ServerPlugin(gobject.GObject): def _upload_avatar(self): icon = os.path.join(env.get_profile_path(), "buddy-icon.jpg") + if not os.path.exists(icon): + return + md5 = hashlib.md5() md5.update(open(icon).read()) hash = md5.hexdigest() @@ -378,7 +381,8 @@ class ServerPlugin(gobject.GObject): timestamp, statuses = presence[handle] online = handle in self._online_contacts for status, params in statuses.items(): - print "Handle %s now online=%s with status %s" % (handle, online, status) + jid = self._conn[CONN_INTERFACE].InspectHandles(CONNECTION_HANDLE_TYPE_CONTACT, [handle])[0] + print "Handle %s (%s) was online=%s. new statuse %s" % (handle, jid, online, status) if not online and status in ["available", "away", "brb", "busy", "dnd", "xa"]: try: self._contact_online(handle) -- cgit v0.9.1