Beispiel #1
0
	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)
Beispiel #2
0
		def guess_plugin_class(plugin):
			plugin_class = ''.join(part.title() for part in plugin.split('_'))
			return 'plugins.{}.{}Plugin'.format(plugin, plugin_class)
Beispiel #3
0
 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)
Beispiel #4
0
 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)