diff options
author | Morgan Collett <morgan.collett@gmail.com> | 2007-10-01 20:04:24 (GMT) |
---|---|---|
committer | Morgan Collett <morgan.collett@gmail.com> | 2007-10-15 16:26:19 (GMT) |
commit | da94bfe25daaf6f0a234feaf53829f9607cca533 (patch) | |
tree | adcca2c1b08594f706e89c09ac401244500dfc99 /activity.py | |
parent | 03d644f70ee208294d631ff8badec0de8e85f0d4 (diff) |
Simplification of join/share code
Diffstat (limited to 'activity.py')
-rw-r--r-- | activity.py | 37 |
1 files changed, 12 insertions, 25 deletions
diff --git a/activity.py b/activity.py index 49925fb..f598473 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( |