diff options
author | Dan Williams <dcbw@redhat.com> | 2007-04-09 20:05:32 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2007-04-09 20:05:32 (GMT) |
commit | 76a0f45aa82ba49138449826ea7b006c784eaa62 (patch) | |
tree | a621a1307bc04b406acbb2452439dd25a5807688 /services | |
parent | 4cf8f321f03317c6156e8fe8544b4b3a9d16bb7a (diff) |
More new PS fixes
Diffstat (limited to 'services')
-rw-r--r-- | services/presence/org.laptop.Sugar.Presence.service.in | 2 | ||||
-rw-r--r-- | services/presence/server_plugin.py | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/services/presence/org.laptop.Sugar.Presence.service.in b/services/presence/org.laptop.Sugar.Presence.service.in index 3739d9e..70ecda6 100644 --- a/services/presence/org.laptop.Sugar.Presence.service.in +++ b/services/presence/org.laptop.Sugar.Presence.service.in @@ -1,4 +1,4 @@ [D-BUS Service] -Name = org.laptop.Presence +Name = org.laptop.Sugar.Presence Exec = @bindir@/sugar-presence-service diff --git a/services/presence/server_plugin.py b/services/presence/server_plugin.py index 6e309a8..ffa2ab2 100644 --- a/services/presence/server_plugin.py +++ b/services/presence/server_plugin.py @@ -326,6 +326,7 @@ class ServerPlugin(gobject.GObject): if not cur_activity_handle: # dont advertise a current activity that's not shared cur_activity = "" + print "cur_activity is '%s', handle is %s" % (cur_activity, cur_activity_handle) self._conn[CONN_INTERFACE_BUDDY_INFO].SetCurrentActivity(cur_activity, cur_activity_handle) self._upload_avatar() @@ -404,6 +405,16 @@ class ServerPlugin(gobject.GObject): if not props.has_key('key'): raise InvalidBuddyError("no key") + # Convert from D-Bus array types to a standard python byte array + key = "" + for item in props["key"]: + try: + # int type + key = key + "%s" % chr(item) + except TypeError: + # string type + key = key + str(item) + jid = self._conn[CONN_INTERFACE].InspectHandles(CONNECTION_HANDLE_TYPE_CONTACT, [handle])[0] nick = self._conn[CONN_INTERFACE_ALIASING].RequestAliases([handle])[0] if not nick: @@ -411,6 +422,8 @@ class ServerPlugin(gobject.GObject): props['nick'] = nick self._online_contacts[handle] = jid + # Any properties that are returned by TP as dbus.ByteArray or dbus.Array + # must be converted before emitting signals self.emit("contact-online", handle, props) activities = self._conn[CONN_INTERFACE_BUDDY_INFO].GetActivities(handle) |