Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu.vizoso@collabora.co.uk>2010-07-13 10:15:43 (GMT)
committer Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>2010-08-20 13:33:53 (GMT)
commit46159e987b8bf20f57ce1e8fca78338fc90508cf (patch)
treedf3e8aaaabcd0914541f0c937c79dc1111cf13af
parent1a4c721f3d564dcb7d395196130c0299a4ec1fd4 (diff)
Pass the account path to the Activity on creation
-rw-r--r--src/sugar/presence/presenceservice.py21
-rw-r--r--src/sugar/presence/util.py6
2 files changed, 14 insertions, 13 deletions
diff --git a/src/sugar/presence/presenceservice.py b/src/sugar/presence/presenceservice.py
index 8e50980..6b42290 100644
--- a/src/sugar/presence/presenceservice.py
+++ b/src/sugar/presence/presenceservice.py
@@ -36,7 +36,8 @@ from sugar.presence.util import get_connection_manager
from telepathy.interfaces import ACCOUNT, \
ACCOUNT_MANAGER, \
CONNECTION
-from telepathy.constants import HANDLE_TYPE_CONTACT
+from telepathy.constants import HANDLE_TYPE_CONTACT, \
+ HANDLE_TYPE_ROOM
_logger = logging.getLogger('sugar.presence.presenceservice')
@@ -263,14 +264,16 @@ class PresenceService(gobject.GObject):
'instance')
return self._activity_cache
else:
- for connection in get_connection_manager().connections:
- try:
- room_handle = connection.GetActivity(activity_id)
- activity = Activity(connection, room_handle)
- self._activity_cache = activity
- return activity
- except:
- pass
+ connection_manager = get_connection_manager()
+ connections_per_account = connection_manager.get_connections_per_account()
+ for account_path, connection in connections_per_account.items():
+ room_handles = connection.RequestHandles(HANDLE_TYPE_ROOM,
+ [activity_id],
+ dbus_interface=CONNECTION)
+ activity = Activity(account_path, connection,
+ room_handle=room_handles[0])
+ self._activity_cache = activity
+ return activity
return None
diff --git a/src/sugar/presence/util.py b/src/sugar/presence/util.py
index f00228f..30346c1 100644
--- a/src/sugar/presence/util.py
+++ b/src/sugar/presence/util.py
@@ -47,10 +47,8 @@ class ConnectionManager(object):
def get_connection(self, account_path):
return self._connections_per_account[account_path]
- def get_connections(self):
- return self._connections_per_account.values()
-
- connections = property(get_connections)
+ def get_connections_per_account(self):
+ return self._connections_per_account
_connection_manager = None