catch the closed signal

check if icon exists
This commit is contained in:
Guillaume Desmottes 2007-03-07 13:15:38 +01:00
parent 1480ff8440
commit 6f19b10222
2 changed files with 10 additions and 2 deletions

View File

@ -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

View File

@ -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)