def __init__(self, project_name, entrypoint, plugin_base_class): """ Initialize this plugin manager for the fully qualified Python module name `module_qname` with plugins loaded from the setuptools `entrypoint` that must subclass `plugin_base_class`. """ self.manager = PluggyPluginManager(project_name=project_name) self.entrypoint = entrypoint self.plugin_base_class = plugin_base_class self.manager.add_hookspecs(sys.modules[project_name]) # set to True once this manager is initialized by running its setup() self.initialized = False # mapping of {plugin.name: plugin_class} for all the loaded plugins of # this manager self.plugin_classes = OrderedDict()
def __init__(self, stage, module_qname, entrypoint, plugin_base_class): """ Initialize this plugin manager for the `stage` specified in the fully qualified Python module name `module_qname` with plugins loaded from the setuptools `entrypoint` that must subclass `plugin_base_class`. """ self.manager = PluggyPluginManager(project_name=stage) self.managers[stage] = self self.stage = stage self.entrypoint = entrypoint self.plugin_base_class = plugin_base_class self.manager.add_hookspecs(sys.modules[module_qname]) # set to True once this manager is initialized by running its setup() self.initialized = False # list of plugin_class for all the plugins of this manager self.plugin_classes = []