Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2007-03-07 12:15:38 (GMT)
committer Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>2007-03-07 12:15:38 (GMT)
commit6f19b10222883d667a097393a513fbfcc2989c47 (patch)
treec87b9664b4a7b0a2f1b7b7116047929de782a59c /services
parent1480ff8440de5a12db16733190885e72aaa7aad1 (diff)
catch the closed signal
check if icon exists
Diffstat (limited to 'services')
-rw-r--r--services/presence2/activity.py6
-rw-r--r--services/presence2/server_plugin.py6
2 files changed, 10 insertions, 2 deletions
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)