def load_plugin(plugin_id): """ @S_sources are to be included directly in the catalog, @s_souces as just as subitems """ sources = [] text_sources = [] action_decorators = [] content_decorators = [] item = plugin_id initialize_plugin(item) if not plugins.is_plugin_loaded(item): return PluginDescription() text_sources.extend(load_plugin_sources(item, text_sources_attribute)) action_decorators.extend(load_plugin_sources(item, action_decorators_attribute)) # Register all Sources as (potential) content decorators content_decorators.extend(load_plugin_sources(item, sources_attribute, instantiate=False)) content_decorators.extend(load_plugin_sources(item, content_decorators_attribute, instantiate=False)) sources.extend(load_plugin_sources(item)) desc = PluginDescription() desc.text_sources = text_sources desc.action_decorators = action_decorators desc.content_decorators = content_decorators desc.sources = sources return desc
def _setup_plugins(self): """ @S_sources are to be included directly in the catalog, @s_souces as just as subitems """ from kupfer.core import plugins from kupfer.core.plugins import (load_plugin_sources, sources_attribute, action_decorators_attribute, text_sources_attribute, content_decorators_attribute, initialize_plugin) s_sources = [] S_sources = [] setctl = settings.GetSettingsController() text_sources = [] action_decorators = [] content_decorators = [] for item in plugins.get_plugin_ids(): if not setctl.get_plugin_enabled(item): continue initialize_plugin(item) text_sources.extend(load_plugin_sources(item, text_sources_attribute)) action_decorators.extend(load_plugin_sources(item, action_decorators_attribute)) # Register all Sources as (potential) content decorators content_decorators.extend(load_plugin_sources(item, sources_attribute, instantiate=False)) content_decorators.extend(load_plugin_sources(item, content_decorators_attribute, instantiate=False)) if setctl.get_plugin_is_toplevel(item): S_sources.extend(load_plugin_sources(item)) else: s_sources.extend(load_plugin_sources(item)) D_dirs, d_dirs = self._get_directory_sources() S_sources.extend(D_dirs) s_sources.extend(d_dirs) if not S_sources and not s_sources: pretty.print_info(__name__, "No sources found!") self.register_text_sources(text_sources) self.register_action_decorators(action_decorators) self.register_content_decorators(content_decorators) return S_sources, s_sources
def load_plugin(plugin_id): """ @S_sources are to be included directly in the catalog, @s_souces as just as subitems """ sources = [] text_sources = [] action_decorators = [] content_decorators = [] action_generators = [] item = plugin_id initialize_plugin(item) if not plugins.is_plugin_loaded(item): return PluginDescription() text_sources.extend(load_plugin_sources(item, text_sources_attribute)) action_decorators.extend( load_plugin_sources(item, action_decorators_attribute)) action_generators.extend( load_plugin_sources(item, action_generators_attribute)) # Register all Sources as (potential) content decorators content_decorators.extend( load_plugin_sources(item, sources_attribute, instantiate=False)) content_decorators.extend( load_plugin_sources(item, content_decorators_attribute, instantiate=False)) sources.extend(load_plugin_sources(item)) desc = PluginDescription() desc.text_sources = text_sources desc.action_decorators = action_decorators desc.content_decorators = content_decorators desc.sources = sources desc.action_generators = action_generators return desc