o |nhH@sndZddlmZddlmZddlmZddlmZddl m Z e e Z Gdd d eZ Gd d d e eZd S) zCement core plugins module.)abstractmethod)List) Interface)Handler)minimal_loggerc@seZdZdZGdddejZededdfddZed e eddfd d Z ede efd d Z ede efddZ ede efddZ dS)PluginInterfacea This class defines the Plugin Interface. Handlers that implement this interface must provide the methods and attributes defined below. In general, most implementations should sub-class from the provided :class:`PluginHandler` base class as a starting point. c@seZdZdZdS)zPluginInterface.MetapluginN)__name__ __module__ __qualname__ interfacerrJ/usr/local/bin/dhwp/env/lib/python3.10/site-packages/cement/core/plugin.pyMetasr plugin_namereturnNcCdS)z Load a plugin whose name is ``plugin_name``. Args: plugin_name (str): The name of the plugin to load. Nr)selfrrrr load_plugin zPluginInterface.load_pluginpluginscCr)z Load all plugins from ``plugins``. Args: plugins (list): A list of plugin names to load. Nr)rrrrr load_plugins%rzPluginInterface.load_pluginscCr)z0Returns a list of plugins that have been loaded.Nrrrrrget_loaded_plugins0z"PluginInterface.get_loaded_pluginscCr)z9Returns a list of plugins that are enabled in the config.Nrrrrrget_enabled_plugins5rz#PluginInterface.get_enabled_pluginscCr)z:Returns a list of plugins that are disabled in the config.Nrrrrrget_disabled_plugins:rz$PluginInterface.get_disabled_plugins)r r r __doc__rrrstrrrrrrrrrrrr s  rc@s"eZdZdZGdddejZdS) PluginHandlerz) Plugin handler implementation. c@s eZdZdS)zPluginHandler.MetaN)r r r rrrrrGsrN)r r r rrrrrrrr @sr N)rabcrtypingrcore.interfacer core.handlerr utils.miscrr LOGrr rrrrs     4