diff -r b946699e9e79 -r 8bdad5699288 src/eric7/PluginManager/PluginUninstallDialog.py --- a/src/eric7/PluginManager/PluginUninstallDialog.py Wed May 24 10:31:09 2023 +0200 +++ b/src/eric7/PluginManager/PluginUninstallDialog.py Wed May 24 10:45:11 2023 +0200 @@ -23,6 +23,7 @@ from eric7.EricWidgets.EricMainWindow import EricMainWindow from .PluginManager import PluginManager +from .PluginUtilities import getPluginHeaderEntry, hasPluginHeaderEntry from .Ui_PluginUninstallDialog import Ui_PluginUninstallDialog @@ -150,7 +151,7 @@ spec = importlib.util.spec_from_file_location(pluginName, pluginFile) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) - if not hasattr(module, "packageName"): + if not hasPluginHeaderEntry(module, "packageName"): EricMessageBox.critical( self, self.tr("Plugin Uninstallation"), @@ -161,7 +162,7 @@ ) return False - package = getattr(module, "packageName", None) + package = getPluginHeaderEntry(module, "packageName", None) if package is None: package = "None" packageDir = "" @@ -173,9 +174,12 @@ ): module.prepareUninstall() internalPackages = [] - if hasattr(module, "internalPackages"): + if hasPluginHeaderEntry(module, "internalPackages"): # it is a comma separated string - internalPackages = [p.strip() for p in module.internalPackages.split(",")] + internalPackages = [ + p.strip() + for p in getPluginHeaderEntry(module, "internalPackages", "").split(",") + ] del module # clean sys.modules