reportcompiler.plugins.plugin_module

plugin_modules.py

This module has the implementation of the plugin module base class from where the rest of the plugin classes are derived.

Classes

  • PluginModule: Base class that implements the plugin architecture. All direct
class reportcompiler.plugins.plugin_module.PluginModule

Base class that implements the plugin architecture. All direct subclasses of this module represent different stages and they have a factory method that scans their directory (e.g. source_parsers, data_fetchers, …) and instantiates a particular subsubclass (e.g. PythonParser) with only their name (e.g. ‘python’). For new plugins of a particular type this doesn’t require any imports; this class automatically scans the directory for suitable modules and classes.

Inheritance

Inheritance diagram of PluginModule
classmethod get(id=None, **kwargs)

Instantiates the specified plugin.

Parameters:
  • id (str) – plugin id (e.g. ‘mysql’, ‘python’, …) or dict with more info (with the ‘type’ key enclosed)
  • kwargs (dict) – optional arguments
Returns:

Plugin

Return type:

PluginModule