def _get_service(plugin_name):
'''
Return a service (ie an instance of a plugin class).
:param plugin_name: the name of a plugin entry point
:type plugin_name: string
:return: the service object
'''
if isinstance(plugin_name, basestring):
for group in GROUPS:
iterator = iter_entry_points(
group=group,
name=plugin_name
)
plugin = next(iterator, None)
if plugin:
return plugin.load()(name=plugin_name)
raise PluginNotFoundException(plugin_name)
else:
raise TypeError('Expected a plugin name', plugin_name)
评论列表
文章目录