PluginManager/PluginManager.py

changeset 6080
436ac20f7639
parent 6048
82ad8ec9548c
child 6088
b7fdd0db835e
diff -r 1a6e142fb181 -r 436ac20f7639 PluginManager/PluginManager.py
--- a/PluginManager/PluginManager.py	Mon Jan 22 11:25:48 2018 +0100
+++ b/PluginManager/PluginManager.py	Mon Jan 22 15:59:30 2018 +0100
@@ -735,38 +735,66 @@
     
     def getPluginInfos(self):
         """
-        Public method to get infos about all loaded plugins.
+        Public method to get infos about all loaded plug-ins.
         
-        @return list of tuples giving module name (string), plugin name
-            (string), version (string), autoactivate (boolean), active
-            (boolean), short description (string), error flag (boolean)
+        @return list of dictionaries with keys "module_name", "plugin_name",
+            "version", "auto_activate", "active", "short_desc", "error"
+        @rtype list of dict ("module_name": str, "plugin_name": str,
+            "version": str, "auto_activate": bool, "active": bool,
+            "short_desc": str, "error": bool)
         """
         infos = []
         
+        # 1. active, non-on-demand modules
         for name in list(self.__activeModules.keys()):
-            pname, shortDesc, error, version = \
-                self.__getShortInfo(self.__activeModules[name])
-            infos.append((name, pname, version, True, True, shortDesc, error))
+            info = self.__getShortInfo(self.__activeModules[name])
+            info.update({
+                "module_name": name,
+                "auto_activate": True,
+                "active": True,
+            })
+            infos.append(info)
+        
+        # 2. inactive, non-on-demand modules
         for name in list(self.__inactiveModules.keys()):
-            pname, shortDesc, error, version = \
-                self.__getShortInfo(self.__inactiveModules[name])
-            infos.append(
-                (name, pname, version, True, False, shortDesc, error))
+            info = self.__getShortInfo(self.__inactiveModules[name])
+            info.update({
+                "module_name": name,
+                "auto_activate": True,
+                "active": False,
+            })
+            infos.append(info)
+        
+        # 3. active, on-demand modules
         for name in list(self.__onDemandActiveModules.keys()):
-            pname, shortDesc, error, version = \
-                self.__getShortInfo(self.__onDemandActiveModules[name])
-            infos.append(
-                (name, pname, version, False, True, shortDesc, error))
+            info = self.__getShortInfo(self.__onDemandActiveModules[name])
+            info.update({
+                "module_name": name,
+                "auto_activate": False,
+                "active": True,
+            })
+            infos.append(info)
+        
+        # 4. inactive, non-on-demand modules
         for name in list(self.__onDemandInactiveModules.keys()):
-            pname, shortDesc, error, version = \
-                self.__getShortInfo(self.__onDemandInactiveModules[name])
-            infos.append(
-                (name, pname, version, False, False, shortDesc, error))
+            info = self.__getShortInfo(self.__onDemandInactiveModules[name])
+            info.update({
+                "module_name": name,
+                "auto_activate": False,
+                "active": False,
+            })
+            infos.append(info)
+        
+        # 5. failed modules
         for name in list(self.__failedModules.keys()):
-            pname, shortDesc, error, version = \
-                self.__getShortInfo(self.__failedModules[name])
-            infos.append(
-                (name, pname, version, False, False, shortDesc, error))
+            info = self.__getShortInfo(self.__failedModules[name])
+            info.update({
+                "module_name": name,
+                "auto_activate": False,
+                "active": False,
+            })
+            infos.append(info)
+        
         return infos
     
     def __getShortInfo(self, module):
@@ -774,15 +802,16 @@
         Private method to extract the short info from a module.
         
         @param module module to extract short info from
-        @return short info as a tuple giving plugin name (string),
-            short description (string), error flag (boolean) and
-            version (string)
+        @return dictionay containing plug-in data
+        @rtype dict ("plugin_name": str, "version": str, "short_desc": str,
+            "error": bool)
         """
-        name = getattr(module, "name", "")
-        shortDesc = getattr(module, "shortDescription", "")
-        version = getattr(module, "version", "")
-        error = getattr(module, "error", "") != ""
-        return name, shortDesc, error, version
+        return {
+            "plugin_name": getattr(module, "name", ""),
+            "version": getattr(module, "version", ""),
+            "short_desc": getattr(module, "shortDescription", ""),
+            "error": bool(getattr(module, "error", "")),
+        }
     
     def getPluginDetails(self, name):
         """

eric ide

mercurial