From cae2a7b5df24e4f937fc5016e526921985b90999 Mon Sep 17 00:00:00 2001 From: Carlos Cordoba Date: Fri, 26 Aug 2022 12:06:28 -0500 Subject: [PATCH] API: Add error kwarg to get_plugin method --- spyder/api/plugins/new_api.py | 14 +++++++++++--- spyder/plugins/layout/plugin.py | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/spyder/api/plugins/new_api.py b/spyder/api/plugins/new_api.py index 19355a5d669..4777bd83a71 100644 --- a/spyder/api/plugins/new_api.py +++ b/spyder/api/plugins/new_api.py @@ -404,9 +404,17 @@ def get_main(self): """ return self._main - def get_plugin(self, plugin_name): + def get_plugin(self, plugin_name, error=True): """ - Return a plugin instance by providing the plugin's NAME. + Get a plugin instance by providing its name. + + Parameters + ---------- + plugin_name: str + Name of the plugin from which its instance will be returned. + error: bool + Whether to raise errors when trying to return the plugin's + instance. """ # Ensure that this plugin has the plugin corresponding to # `plugin_name` listed as required or optional. @@ -416,7 +424,7 @@ def get_plugin(self, plugin_name): if plugin_name in full_set or Plugins.All in full_set: try: - return self._main.get_plugin(plugin_name) + return self._main.get_plugin(plugin_name, error=error) except SpyderAPIError as e: if plugin_name in optional: return None diff --git a/spyder/plugins/layout/plugin.py b/spyder/plugins/layout/plugin.py index d689dca098d..c3a179b1028 100644 --- a/spyder/plugins/layout/plugin.py +++ b/spyder/plugins/layout/plugin.py @@ -947,7 +947,7 @@ def restore_visible_plugins(self): # Restore visible plugins for plugin in visible_plugins: - plugin_class = self.main.get_plugin(plugin, error=False) + plugin_class = self.get_plugin(plugin, error=False) if plugin_class and plugin_class.dockwidget.isVisible(): plugin_class.dockwidget.raise_() @@ -1084,7 +1084,7 @@ def tabify_new_plugins(self): # Tabify new internal plugins for plugin_name in self._get_internal_dockable_plugins(): if plugin_name not in last_internal_dockable_plugins: - plugin = self.main.get_plugin(plugin_name, error=False) + plugin = self.get_plugin(plugin_name, error=False) if plugin: self.tabify_plugin(plugin, Plugins.Console)