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
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