arelle.PluginManager
#
See COPYRIGHT.md for copyright information.
based on pull request 4
Module Contents#
Functions#
If plugin trace file logging is configured, logs |
|
Get the name, directory and prefix of a module. |
|
Get the file name of a plugin. |
|
Load a module based on name and directory. |
|
Discover plugin entry points with given name. |
|
Given a dictionary containing module information, loads plugin info into |
|
Given an EntryPoint instance, evaluates the plugin to retrieve a module information dictionary. |
|
Retrieve entry point information. Optionally provide |
Data#
API#
- arelle.PluginManager.PLUGIN_TRACE_FILE#
None
- arelle.PluginManager.PLUGIN_TRACE_LEVEL#
None
- arelle.PluginManager.pluginJsonFile#
None
- arelle.PluginManager.pluginConfig: dict | None#
None
- arelle.PluginManager.pluginConfigChanged#
False
- arelle.PluginManager.pluginTraceFileLogger#
None
- arelle.PluginManager.modulePluginInfos#
None
- arelle.PluginManager.pluginMethodsForClasses#
None
- arelle.PluginManager._cntlr#
None
- arelle.PluginManager._pluginBase#
None
- arelle.PluginManager.EMPTYLIST#
[]
- arelle.PluginManager._ERROR_MESSAGE_IMPORT_TEMPLATE#
‘Unable to load module {}’
- arelle.PluginManager.init(cntlr: arelle.Cntlr.Cntlr, loadPluginConfig: bool = True) None #
- arelle.PluginManager.reset()#
- arelle.PluginManager.orderedPluginConfig()#
- arelle.PluginManager.save(cntlr: arelle.Cntlr.Cntlr) None #
- arelle.PluginManager.close()#
- arelle.PluginManager.logPluginTrace(message: str, level: Number) None #
If plugin trace file logging is configured, logs
message
to it. Only logs to controller logger if log is an error.- Parameters:
message – Message to be logged
level – Log level of message (e.g. logging.INFO)
- arelle.PluginManager.modulesWithNewerFileDates()#
- arelle.PluginManager.freshenModuleInfos()#
- arelle.PluginManager.moduleModuleInfo(moduleURL, reload=False, parentImportsSubtree=False)#
- arelle.PluginManager.moduleInfo(pluginInfo)#
- arelle.PluginManager._get_name_dir_prefix(controller: arelle.Cntlr.Cntlr, pluginBase: str, moduleURL: str, packagePrefix: str = '') tuple[str, str, str] | tuple[None, None, None] #
Get the name, directory and prefix of a module.
- arelle.PluginManager._get_location(moduleDir: str, moduleName: str) str #
Get the file name of a plugin.
- arelle.PluginManager._find_and_load_module(moduleDir: str, moduleName: str) types.ModuleType | None #
Load a module based on name and directory.
- arelle.PluginManager.loadModule(moduleInfo: dict[str, Any], packagePrefix: str = '') None #
- arelle.PluginManager.pluginClassMethods(className: str) Iterator[collections.abc.Callable[..., Any]] #
- arelle.PluginManager.addPluginModule(name: str) dict[str, Any] | None #
Discover plugin entry points with given name.
- Parameters:
name – The name to search for
- Returns:
The module information dictionary, if added. Otherwise, None.
- arelle.PluginManager.reloadPluginModule(name)#
- arelle.PluginManager.removePluginModule(name)#
- arelle.PluginManager.addPluginModuleInfo(plugin_module_info: dict[str, Any]) dict[str, Any] | None #
Given a dictionary containing module information, loads plugin info into
pluginConfig
- Parameters:
plugin_module_info – Dictionary of module info fields. See comment block in PluginManager.py for structure.
- Returns:
The module information dictionary, if added. Otherwise, None.
- arelle.PluginManager.entryPointToModuleInfo(entryPoint: importlib.metadata.EntryPoint) dict #
Given an EntryPoint instance, evaluates the plugin to retrieve a module information dictionary.
- Parameters:
entryPoint – EntryPoint instance
- Returns:
Module information dictionary
- arelle.PluginManager.discoverPluginEntryPoints(name: str | None = None) list[importlib.metadata.EntryPoint] #
Retrieve entry point information. Optionally provide
name
to retrieve a specific entry point.- Parameters:
name – Only retrieve entry points with the given name. May return multiple items.
- Returns:
List of EntryPoints