From b27db0ca1f51b8062d973cfba36dc18d1362f491 Mon Sep 17 00:00:00 2001 From: Ellwood Zwovic Date: Sun, 20 Aug 2017 01:20:23 -0700 Subject: [PATCH] Refresh package list after install --- package_manager/__init__.py | 17 ++++------------- package_manager/bpkg/types.py | 1 + package_manager/subproc.py | 4 ++-- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/package_manager/__init__.py b/package_manager/__init__.py index 8bb6ff1..0d9cca2 100644 --- a/package_manager/__init__.py +++ b/package_manager/__init__.py @@ -314,7 +314,7 @@ else: def _subproc_success(self, success: messages.Success): self.report({'INFO'}, 'Package uninstalled successfully') - bpy.ops.package.refresh_packages() + bpy.ops.package.refresh() self.quit() def report_process_died(self): @@ -439,19 +439,10 @@ else: def _subproc_success(self, success: messages.Success): self.report({'INFO'}, 'Finished refreshing lists') + global _packages + _packages = build_packagelist() self.quit() - # def _subproc_repository_result(self, result: messages.RepositoryResult): - # available_packages = result.repository.packages - # installed_packages = get_packages_from_disk(refresh=False) - # - # # TODO: deduplicate creation of view-packages.. - # for pkg in available_packages: - # pkg.repository = result.repository.name - # - # global _packages - # _packages = build_composite_packagelist(installed_packages, available_packages) - def _subproc_aborted(self, aborted: messages.Aborted): self.report({'ERROR'}, 'Package list retrieval aborted per your request') self.quit() @@ -1003,7 +994,7 @@ else: log = logging.getLogger(__name__ + ".build_composite_packagelist") masterlist = {} - installed_packages = get_installed_packages() + installed_packages = get_installed_packages(refresh=True) known_repositories = get_repositories() for repo in known_repositories: diff --git a/package_manager/bpkg/types.py b/package_manager/bpkg/types.py index 23243b3..7ed99b2 100644 --- a/package_manager/bpkg/types.py +++ b/package_manager/bpkg/types.py @@ -203,6 +203,7 @@ class Package: return utils.install(downloaded, dest_dir) + # utils.rm(downloaded) def __eq__(self, other): return self.name == other.name and self.version == other.version diff --git a/package_manager/subproc.py b/package_manager/subproc.py index 54282c7..5051918 100644 --- a/package_manager/subproc.py +++ b/package_manager/subproc.py @@ -21,10 +21,10 @@ def download_and_install_package(pipe_to_blender, package: Package, install_path package.install(install_path, cache_dir) except bpkg_exs.DownloadException as err: pipe_to_blender.send(messages.DownloadError(err)) - raise + log.exception(err) except bpkg_exs.InstallException as err: pipe_to_blender.send(messages.InstallError(err)) - raise + log.exception(err) pipe_to_blender.send(messages.Success())