def register_plugin(self, name, plugin): if isinstance(plugin, str): parts = plugin.split('.') try: module = importlib.import_module('.'.join(parts[:-1])) plugin = getattr(module, parts[-1]) except (AttributeError, ImportError) as exception: msg = 'Could not find plugin class: {}'.format(plugin) raise Exception(msg) from exception assert issubclass(plugin, botologist.plugin.Plugin) self.plugins[name] = plugin log.debug('plugin %r registered', name)
def guess_plugin_class(plugin): plugin_class = ''.join(part.title() for part in plugin.split('_')) return 'plugins.{}.{}Plugin'.format(plugin, plugin_class)
def guess_plugin_class(plugin): plugin_class = "".join(part.title() for part in plugin.split("_")) if "." not in plugin: plugin = "plugins." + plugin return "{}.{}Plugin".format(plugin, plugin_class)
def guess_plugin_class(plugin): plugin_class = ''.join(part.title() for part in plugin.split('_')) if '.' not in plugin: plugin = 'plugins.' + plugin return '{}.{}Plugin'.format(plugin, plugin_class)