From ec8c9a2bf85acfc9c970bb0871c8642b8dd3dceb Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 17 Nov 2024 05:02:42 +0000 Subject: [PATCH] Remove the dist-info dirs too --- src/backend/InvenTree/plugin/installer.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/backend/InvenTree/plugin/installer.py b/src/backend/InvenTree/plugin/installer.py index 916aacc75d..1f02d86334 100644 --- a/src/backend/InvenTree/plugin/installer.py +++ b/src/backend/InvenTree/plugin/installer.py @@ -406,8 +406,17 @@ def uninstall_from_plugins_dir(cfg: plugin.models.PluginConfig): plugin_dir = plugin_dir.parent if plugin_dir and plugin_dir.is_relative_to(plugin_install_dir): + logger.info('Removing plugin directory: %s', plugin_dir) shutil.rmtree(plugin_dir) + # Finally, remote the dist-info directory (if it exists) + dist_pkg_name = package_name.replace('-', '_') + dist_dirs = plugin_install_dir.glob(f'{dist_pkg_name}-*.dist-info') + + for dd in dist_dirs: + logger.info('Removing dist-info directory: %s', dd) + shutil.rmtree(dd) + def uninstall_from_pip(cfg: plugin.models.PluginConfig): """Uninstall a plugin using pip."""