from engine.log import debug from engine.plugins.base import BasePlugin import inspect class LoadablePlugin: def __init__(self, package): self.name = package.__name__ self._class = None for name, _class in inspect.getmembers(package): if inspect.isclass(_class) and issubclass(_class, BasePlugin) and _class is not BasePlugin: debug('Loaded {}=>{}'.format(self.name, _class.__name__)) self._class = _class continue def get_class(self): return self._class