src/eric7/PluginManager/PluginUninstallDialog.py

branch
eric7
changeset 10061
8bdad5699288
parent 9653
e67609152c5e
child 10428
a071d4065202
--- 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

eric ide

mercurial