[Pkg-sugar-commit] [sugar-toolkit] 04/07: Store all the buddies that have been joined in the activity metadata OLPC #10578

Jonas Smedegaard dr at jones.dk
Thu Apr 16 18:52:28 UTC 2015


This is an automated email from the git hooks/post-receive script.

js pushed a commit to tag v0.92.1
in repository sugar-toolkit.

commit 95b4eeec758ffa729d0dbb219b21d428115fcc74
Author: Simon Schampijer <simon at schampijer.de>
Date:   Tue Mar 29 17:26:29 2011 -0400

    Store all the buddies that have been joined in the activity metadata OLPC #10578
    
    Before only the buddies that were present when closing the activity
    were logged in the Journal. This patch does add another dictionary
    '_joined_buddies' to keep track of the users that did join. The
    '_buddies' dictionary keeps on tracking the users currently in the
    activity.
    
    Signed-off-by: Simon Schampijer <simon at laptop.org>
    Acked-by: Sascha Silbe <silbe at activitycentral.com>
---
 src/sugar/presence/activity.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/sugar/presence/activity.py b/src/sugar/presence/activity.py
index 8057841..b616510 100644
--- a/src/sugar/presence/activity.py
+++ b/src/sugar/presence/activity.py
@@ -109,6 +109,7 @@ class Activity(gobject.GObject):
         self._channel_self_handle = None
         self._text_channel_group_flags = 0
         self._buddies = {}
+        self._joined_buddies = {}
 
         self._get_properties_call = None
         if not self.room_handle is None:
@@ -231,7 +232,7 @@ class Activity(gobject.GObject):
         returns list of presence Buddy objects that we can successfully
         create from the buddy object paths that PS has for this activity.
         """
-        return self._buddies.values()
+        return self._joined_buddies.values()
 
     def get_buddy_by_handle(self, handle):
         """Retrieve the Buddy object given a telepathy handle.
@@ -321,6 +322,7 @@ class Activity(gobject.GObject):
         _logger.debug('__add_initial_buddies %r', contact_ids)
         for contact_id in contact_ids:
             self._buddies[contact_id] = self._get_buddy(contact_id)
+            self._joined_buddies[contact_id] = self._get_buddy(contact_id)
         # Once we have the initial members, we can finish the join process
         self._joined = True
         self.emit('joined', True, None)
@@ -347,6 +349,8 @@ class Activity(gobject.GObject):
                 buddy = self._get_buddy(contact_id)
                 self.emit('buddy-joined', buddy)
                 self._buddies[contact_id] = buddy
+            if contact_id not in self._joined_buddies:
+                self._joined_buddies[contact_id] = buddy
 
     def _remove_buddies(self, contact_ids):
         for contact_id in contact_ids:

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-sugar/sugar-toolkit.git



More information about the pkg-sugar-commit mailing list