From 61552d94b92da7f84fd7ed01ecf907df25286f14 Mon Sep 17 00:00:00 2001 From: Morgan Collett Date: Mon, 01 Oct 2007 20:04:24 +0000 Subject: Simplification of join/share code --- diff --git a/activity.py b/activity.py index efb0ab2..e6c776e 100644 --- a/activity.py +++ b/activity.py @@ -77,43 +77,34 @@ class HelloMeshActivity(Activity): self.initiating = None self.connect('shared', self._shared_cb) + self.connect('joined', self._joined_cb) # Buddy object for you owner = self.pservice.get_owner() self.owner = owner - if self._shared_activity: - # we are joining the activity - self.connect('joined', self._joined_cb) - self._shared_activity.connect('buddy-joined', - self._buddy_joined_cb) - self._shared_activity.connect('buddy-left', - self._buddy_left_cb) - if self.get_shared(): - # we've already joined - self._joined_cb() - def _shared_cb(self, activity): self._logger.debug('My activity was shared') self.initiating = True - self._setup() - - for buddy in self._shared_activity.get_joined_buddies(): - self._logger.debug('Buddy %s is already in the activity' % - buddy.props.nick) - - self._shared_activity.connect('buddy-joined', self._buddy_joined_cb) - self._shared_activity.connect('buddy-left', self._buddy_left_cb) + self._sharing_setup() self._logger.debug('This is my activity: making a tube...') id = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferDBusTube( SERVICE, {}) - def _setup(self): + def _sharing_setup(self): if self._shared_activity is None: self._logger.error('Failed to share or join activity') return + self._shared_activity.connect('buddy-joined', self._buddy_joined_cb) + self._shared_activity.connect('buddy-left', self._buddy_left_cb) + + # Find out who's already in the shared activity: + for buddy in self._shared_activity.get_joined_buddies(): + self._logger.debug('Buddy %s is already in the activity' % + buddy.props.nick) + bus_name, conn_path, channel_paths =\ self._shared_activity.get_channels() @@ -166,13 +157,9 @@ class HelloMeshActivity(Activity): if not self._shared_activity: return - # Find out who's already in the shared activity: - for buddy in self._shared_activity.get_joined_buddies(): - self._logger.debug('Buddy %s is already in the activity' % buddy.props.nick) - self._logger.debug('Joined an existing shared activity') self.initiating = False - self._setup() + self._sharing_setup() self._logger.debug('This is not my activity: waiting for a tube...') self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].ListTubes( -- cgit v0.9.1