From 3998d09a3d3047ab9f154701c5fc86b7376207dd Mon Sep 17 00:00:00 2001 From: Krzysztof Klinikowski Date: Thu, 27 May 2010 14:54:19 +0200 Subject: Fixed bug in capabilities. --- sunshine/capabilities.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'sunshine') diff --git a/sunshine/capabilities.py b/sunshine/capabilities.py index f2421a9..3d06b5f 100644 --- a/sunshine/capabilities.py +++ b/sunshine/capabilities.py @@ -86,19 +86,20 @@ class SunshineCapabilities(telepathy.server.ConnectionInterfaceCapabilities, def GetContactCapabilities(self, handles): - print handles if 0 in handles: raise telepathy.InvalidHandle('Contact handle list contains zero') - #a{ua(a{sv}as)} ret = dbus.Dictionary({}, signature='ua(a{sv}as)') for i in handles: - print i handle = self.handle(telepathy.HANDLE_TYPE_CONTACT, i) + # If the handle has no contact capabilities yet then it + # won't be in the dict. It's fair to return an empty list + # here for its contact caps. if handle in self._contact_caps: - ret[handle] = dbus.Array(self._contact_caps[handle], signature='(a{sv}as)') + ret[handle] = dbus.Array(self._contact_caps[handle], signature='(a{sv}as)') else: - ret[handle] = [] + ret[handle] = dbus.Array([], signature='(a{sv}as)') + return ret def UpdateCapabilities(self, caps): -- cgit v1.2.3