Пример #1
0
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
Пример #2
0
	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
Пример #3
0
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