示例#1
0
    def __load_plugins(self):

        wx.BeginBusyCursor()

        # get plugin list
        plugins2load_by_name = gmPlugin.GetPluginLoadList(
            option='horstspace.notebook.plugin_load_order',
            plugin_dir='gui',
            defaults=['gmProviderInboxPlugin'])

        _log.debug('plugin load order: %s', plugins2load_by_name)

        nr_plugins = len(plugins2load_by_name)
        failed_plugins = []

        #  set up a progress bar
        progress_bar = gmPlugin.cLoadProgressBar(nr_plugins)

        #  and load them
        prev_plugin = ""
        first_plugin = None
        plugin = None
        result = -1
        for idx in range(nr_plugins):
            curr_plugin = plugins2load_by_name[idx]
            progress_bar.Update(result, curr_plugin)
            try:
                plugin = gmPlugin.instantiate_plugin('gui', curr_plugin)
                if plugin:
                    plugin.register()
                    result = 1
                else:
                    _log.error("plugin [%s] not loaded, see errors above",
                               curr_plugin)
                    failed_plugins.append(curr_plugin)
                    result = 1
            except:
                _log.exception('failed to load plugin %s', curr_plugin)
                failed_plugins.append(curr_plugin)
                result = 0

            if first_plugin is None:
                first_plugin = plugin
            prev_plugin = curr_plugin

        _log.debug('failed plugins: %s', failed_plugins)
        progress_bar.DestroyLater()
        wx.EndBusyCursor()

        # force-refresh first notebook page
        page = self.nb.GetPage(0)
        page.Refresh()

        return True
示例#2
0
	def __load_plugins(self):

		wx.BeginBusyCursor()

		# get plugin list
		plugins2load_by_name = gmPlugin.GetPluginLoadList (
			option = 'horstspace.notebook.plugin_load_order',
			plugin_dir = 'gui',
			defaults = ['gmProviderInboxPlugin']
		)

		_log.debug('plugin load order: %s', plugins2load_by_name)

		nr_plugins = len(plugins2load_by_name)
		failed_plugins = []

		#  set up a progress bar
		progress_bar = gmPlugin.cLoadProgressBar(nr_plugins)

		#  and load them
		prev_plugin = ""
		first_plugin = None
		plugin = None
		result = -1
		for idx in range(nr_plugins):
			curr_plugin = plugins2load_by_name[idx]
			progress_bar.Update(result, curr_plugin)
			try:
				plugin = gmPlugin.instantiate_plugin('gui', curr_plugin)
				if plugin:
					plugin.register()
					result = 1
				else:
					_log.error("plugin [%s] not loaded, see errors above", curr_plugin)
					failed_plugins.append(curr_plugin)
					result = 1
			except:
				_log.exception('failed to load plugin %s', curr_plugin)
				failed_plugins.append(curr_plugin)
				result = 0

			if first_plugin is None:
				first_plugin = plugin
			prev_plugin = curr_plugin

		_log.debug('failed plugins: %s', failed_plugins)
		progress_bar.DestroyLater()
		wx.EndBusyCursor()

		# force-refresh first notebook page
		page = self.nb.GetPage(0)
		page.Refresh()

		return True