2021-09-11 00:47:01 -07:00
|
|
|
"""Register all plugins."""
|
|
|
|
|
|
|
|
# Standard Library
|
|
|
|
from inspect import isclass
|
|
|
|
|
|
|
|
# Local
|
|
|
|
from . import _builtin
|
2021-09-11 11:17:38 -07:00
|
|
|
from ._input import InputPlugin
|
2021-09-11 00:47:01 -07:00
|
|
|
from ._output import OutputPlugin
|
2021-09-11 11:17:38 -07:00
|
|
|
from ._manager import InputPluginManager, OutputPluginManager
|
2021-09-11 00:47:01 -07:00
|
|
|
|
|
|
|
|
|
|
|
def init_plugins() -> None:
|
|
|
|
"""Initialize all plugins."""
|
|
|
|
for name in dir(_builtin):
|
|
|
|
plugin = getattr(_builtin, name)
|
|
|
|
if isclass(plugin):
|
|
|
|
if issubclass(plugin, OutputPlugin):
|
2021-09-11 11:17:38 -07:00
|
|
|
manager = OutputPluginManager()
|
|
|
|
elif issubclass(plugin, InputPlugin):
|
|
|
|
manager = InputPluginManager()
|
|
|
|
else:
|
|
|
|
continue
|
|
|
|
manager.register(plugin)
|