diff -r 9e3452188615 -r b946699e9e79 src/eric7/PluginManager/PluginUtilities.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/eric7/PluginManager/PluginUtilities.py Wed May 24 10:31:09 2023 +0200 @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing common utility functions needed for plugin management. +""" + + +def getPluginHeaderEntry(plugin, entry, default): + """ + Function to get an entry of the plugin header. + + @param plugin reference to the plugin module + @type module + @param entry name of the entry + @type str + @param default value to be returned if the entry does not exist + @type Any + @return requested value + @rtype Any + """ + header = getattr(plugin, "__header__", None) + if header: + return header.get(entry, default) + else: + # old-style plugin header + return getattr(plugin, entry, default) + + +def hasPluginHeaderEntry(plugin, entry): + """ + Function to check, if the plugin header contains the given entry. + + @param plugin reference to the plugin module + @type module + @param entry name of the entry + @type str + @return flag indicating the existence + @rtype bool + """ + header = getattr(plugin, "__header__", None) + if header: + return entry in header + else: + # old-style plugin header + return hasattr(plugin, entry)