示例#1
0
    def prepare(self, task_manager: TaskManager, root_password: Optional[str],
                internet_available: bool):
        create_config = CreateConfigFile(taskman=task_manager,
                                         configman=self.configman,
                                         i18n=self.i18n,
                                         task_icon_path=get_icon_path(),
                                         logger=self.logger)
        create_config.start()

        task_manager.register_task('snap_cats',
                                   self.i18n['task.download_categories'],
                                   get_icon_path())
        category_downloader = CategoriesDownloader(
            id_='snap',
            manager=self,
            http_client=self.http_client,
            logger=self.logger,
            url_categories_file=URL_CATEGORIES_FILE,
            categories_path=CATEGORIES_FILE_PATH,
            internet_connection=internet_available,
            internet_checker=self.context.internet_checker,
            after=lambda: self._finish_category_task(task_manager))
        category_downloader.before = lambda: self._start_category_task(
            task_manager, create_config, category_downloader)
        category_downloader.start()
示例#2
0
 def _start_category_task(self, task_man: TaskManager):
     if task_man:
         task_man.register_task(
             'snap_cats',
             self.i18n['task.download_categories'].format('Snap'),
             get_icon_path())
         task_man.update_progress('snap_cats', 50, None)
示例#3
0
    def read_settings(self, task_man: TaskManager = None) -> dict:
        try:
            if task_man:
                task_man.register_task('web_down_sets',
                                       self.i18n['web.task.download_settings'],
                                       get_icon_path())
                task_man.update_progress('web_down_sets', 10, None)

            res = self.http_client.get(URL_ENVIRONMENT_SETTINGS)

            if not res:
                self.logger.warning(
                    'Could not retrieve the environments settings from the cloud'
                )
                self._finish_task_download_settings(task_man)
                return

            try:
                self._finish_task_download_settings(task_man)
                return yaml.safe_load(res.content)
            except yaml.YAMLError:
                self.logger.error(
                    'Could not parse environment settings: {}'.format(
                        res.text))
                self._finish_task_download_settings(task_man)
                return
        except requests.exceptions.ConnectionError:
            self._finish_task_download_settings(task_man)
            return
示例#4
0
    def prepare(self, task_manager: TaskManager, root_password: str,
                internet_available: bool):
        task_id = 'flatpak'
        task_manager.register_task(task_id,
                                   self.i18n['flatpak.task.read_config'],
                                   get_icon_path())
        task_manager.update_progress(task_id, 10, None)

        Thread(target=read_config, args=(True, ), daemon=True).start()

        task_manager.update_progress(task_id, 100, None)
        task_manager.finish_task(task_id)