From f0c44ab019808bc7993481f09a0a7887186b114b Mon Sep 17 00:00:00 2001 From: Vinicius Moreira Date: Thu, 11 Jun 2020 17:15:20 -0300 Subject: [PATCH] [fix][ui] calling required tasks when '--settings' is specified as a param --- bauh/gems/arch/controller.py | 5 +++-- bauh/gems/arch/worker.py | 3 ++- bauh/manage.py | 2 +- bauh/view/core/controller.py | 5 +++++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/bauh/gems/arch/controller.py b/bauh/gems/arch/controller.py index 743f83e6..abb60073 100644 --- a/bauh/gems/arch/controller.py +++ b/bauh/gems/arch/controller.py @@ -502,7 +502,7 @@ class ArchManager(SoftwareManager): self.disk_cache_updater.join() self.logger.info("Disk cache ready") - def read_installed(self, disk_loader: DiskCacheLoader, limit: int = -1, only_apps: bool = False, pkg_types: Set[Type[SoftwarePackage]] = None, internet_available: bool = None, names: Iterable[str] = None) -> SearchResult: + def read_installed(self, disk_loader: DiskCacheLoader, limit: int = -1, only_apps: bool = False, pkg_types: Set[Type[SoftwarePackage]] = None, internet_available: bool = None, names: Iterable[str] = None, wait_disk_cache: bool = True) -> SearchResult: self.aur_client.clean_caches() arch_config = read_config() @@ -532,7 +532,8 @@ class ArchManager(SoftwareManager): pkgs = [] if repo_pkgs or aur_pkgs: - self._wait_for_disk_cache() + if wait_disk_cache: + self._wait_for_disk_cache() map_threads = [] diff --git a/bauh/gems/arch/worker.py b/bauh/gems/arch/worker.py index 5bbc4e28..ea8487ac 100644 --- a/bauh/gems/arch/worker.py +++ b/bauh/gems/arch/worker.py @@ -124,7 +124,8 @@ class ArchDiskCacheUpdater(Thread): self.logger.info('Pre-caching installed Arch packages data to disk') installed = self.controller.read_installed(disk_loader=None, internet_available=self.internet_available, - only_apps=False, pkg_types=None, limit=-1, names=not_cached_names).installed + only_apps=False, pkg_types=None, limit=-1, names=not_cached_names, + wait_disk_cache=False).installed self.task_man.update_progress(self.task_id, 0, self.i18n['arch.task.disk_cache.reading']) diff --git a/bauh/manage.py b/bauh/manage.py index 60fe696c..c1cb902f 100644 --- a/bauh/manage.py +++ b/bauh/manage.py @@ -52,7 +52,7 @@ def new_manage_panel(app_args: Namespace, app_config: dict, logger: logging.Logg app = new_qt_application(app_config, quit_on_last_closed=True) if app_args.settings: # only settings window - manager.prepare(None, None, None) # only checks the available managers + manager.cache_available_managers() return app, SettingsWindow(manager=manager, i18n=i18n, screen_size=app.primaryScreen().size(), window=None) else: manage_window = ManageWindow(i18n=i18n, diff --git a/bauh/view/core/controller.py b/bauh/view/core/controller.py index 6165357a..0f270881 100755 --- a/bauh/view/core/controller.py +++ b/bauh/view/core/controller.py @@ -366,6 +366,11 @@ class GenericSoftwareManager(SoftwareManager): man.prepare(taskman, root_password, internet_on) self._already_prepared.append(man) + def cache_available_managers(self): + if self.managers: + for man in self.managers: + self._can_work(man) + def list_updates(self, internet_available: bool = None) -> List[PackageUpdate]: self._wait_to_be_ready()