def set_neo_selection(self, data):
        self.progress.begin('Loading selection data...')
        self.progress.set_ticks(len(data['blocks']))

        # Load blocks which are not currently displayed
        for b in data['blocks']:
            # File already loaded?
            if unicode(b[1]) in self.block_files.values():
                self.progress.step()
                continue

            QApplication.setOverrideCursor(Qt.WaitCursor)
            try:
                cl = None
                rp = None
                if len(b) > 2:
                    cl = NeoDataProvider.find_io_class(b[2])
                if len(b) > 3:
                    rp = b[3]
                blocks = NeoDataProvider.get_blocks(
                    b[1], force_io=cl, read_params=rp)
            finally:
                QApplication.restoreOverrideCursor()
            if not blocks:
                logger.error('Could not read file "%s"' % b[1])
                self.progress.step()
                continue

            for block in blocks:
                name = block.name
                if not name or name == 'One segment only':
                    name = os.path.basename(b[1])
                name += ' (%s)' % self.get_letter_id(self.block_index)

                self.block_names[block] = name
                self.block_ids[block] = self.get_letter_id(self.block_index)
                self.block_files[block] = b[1]
                self.block_index += 1
            self.progress.step()

        self.progress.done()

        self.neoNavigationDock.set_selection(data)
Return list of upstart services.
dataset/ETHPy150Open rproepp/spykeviewer/spykeviewer/ui/main_window_neo.py/MainWindowNeo.set_neo_selection--crossover with--dataset/ETHPy150Open saltstack/salt/salt/modules/rh_service.py/_upstart_services