From cafa662edc3194235865c297e5f64a3c6f596209 Mon Sep 17 00:00:00 2001 From: Morgan Collett Date: Thu, 04 Oct 2007 10:42:41 +0000 Subject: Pass self._shared_activity.get_buddy_by_handle like _get_buddy was passed - prevents calling private attribute _shared_activity --- diff --git a/activity.py b/activity.py index 6b7c031..2ce05e5 100644 --- a/activity.py +++ b/activity.py @@ -174,7 +174,8 @@ class HelloMeshActivity(Activity): tube_conn = TubeConnection(self.conn, self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES], id, group_iface=self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP]) - self.hellotube = HelloTube(tube_conn, self.initiating, self) + self.hellotube = HelloTube(tube_conn, self.initiating, + self._shared_activity.get_buddy_by_handle) def _buddy_joined_cb (self, activity, buddy): self._logger.debug('Buddy %s joined' % buddy.props.nick) @@ -186,25 +187,25 @@ class HelloMeshActivity(Activity): class HelloTube(ExportedGObject): """The bit that talks over the TUBES!!!""" - def __init__(self, tube, is_initiator, activity): + def __init__(self, tube, is_initiator, get_buddy): super(HelloTube, self).__init__(tube, PATH) self._logger = logging.getLogger('hellomesh-activity.HelloTube') self.tube = tube self.is_initiator = is_initiator - self.activity = activity # sugar.activity.Activity self.entered = False # Have we set up the tube? self.helloworld = False # Trivial "game state" + self._get_buddy = get_buddy # Converts handle to Buddy object self.tube.watch_participants(self.participant_change_cb) def participant_change_cb(self, added, removed): self._logger.debug('Adding participants: %r' % added) self._logger.debug('Removing participants: %r' % removed) for handle, bus_name in added: - buddy = self.activity._shared_activity.get_buddy_by_handle(handle) + buddy = self._get_buddy(handle) if buddy is not None: self._logger.debug('Buddy %s was added' % buddy.props.nick) for handle in removed: - buddy = self.activity._shared_activity.get_buddy_by_handle(handle) + buddy = self._get_buddy(handle) if buddy is not None: self._logger.debug('Buddy %s was removed' % buddy.props.nick) if not self.entered: -- cgit v0.9.1