Python
4
Вклад в тег
def load_plugin_module(plugin):
'''Загрузка модуля плагина по имени.
plugin - имя модуля плагина.
Возвращает:
mod - модуль плагина
'''
try:
# fromlist=[plugin] - здесь просто МАГИЯ,
# без этого не импортируется то, что нужно
vpkg = __import__(PLUGIN_DIR, fromlist=[plugin])
return getattr(vpkg, plugin)
except ImportError:
raise RuntimeError('Plugin %s not found' % plugin)
except ValueError:
raise RuntimeError('Invalid plugin name %s' % plugin)
plug = load_plugin_module(known_plugin_name)
plug.run()