diff options
-rw-r--r-- | plugins/reorder.py | 14 | ||||
-rw-r--r-- | poezio/plugin_manager.py | 10 |
2 files changed, 19 insertions, 5 deletions
diff --git a/plugins/reorder.py b/plugins/reorder.py index 32fa6639..8d9516f8 100644 --- a/plugins/reorder.py +++ b/plugins/reorder.py @@ -117,6 +117,8 @@ def parse_runtime_tablist(tablist): class Plugin(BasePlugin): + """reorder plugin""" + def init(self): self.api.add_command( 'reorder', @@ -129,20 +131,24 @@ class Plugin(BasePlugin): help='Save the current tab layout') @command_args_parser.ignored - def command_save_order(self): + def command_save_order(self) -> None: + """ + /save_order + """ conf = parse_runtime_tablist(self.core.tabs) for key, value in conf: self.config.set(key, value) self.api.information('Tab order saved', 'Info') @command_args_parser.ignored - def command_reorder(self): + def command_reorder(self) -> None: """ /reorder """ tabs_spec = parse_config(self.config) if not tabs_spec: - return self.api.information('Invalid reorder config', 'Error') + self.api.information('Invalid reorder config', 'Error') + return None old_tabs = self.core.tabs.get_tabs() roster = old_tabs.pop(0) @@ -173,3 +179,5 @@ class Plugin(BasePlugin): self.core.tabs.replace_tabs(new_tabs) self.core.refresh_window() + + return None diff --git a/poezio/plugin_manager.py b/poezio/plugin_manager.py index 58cfb3d3..e603b6fa 100644 --- a/poezio/plugin_manager.py +++ b/poezio/plugin_manager.py @@ -69,7 +69,10 @@ class PluginManager: module = None loader = self.finder.find_module(name, self.load_path) if loader: + log.debug('Found candidate loader for plugin %s: %r', name, loader) module = loader.load_module() + if module is None: + log.debug('Failed to load plugin %s from loader', name) else: try: module = import_module('poezio_plugins.%s' % name) @@ -77,16 +80,19 @@ class PluginManager: pass for entry in pkg_resources.iter_entry_points('poezio_plugins'): if entry.name == name: + log.debug('Found candidate entry for plugin %s: %r', name, entry) try: module = entry.load() - except ImportError: - pass + except ImportError as exn: + log.debug('Failed to import plugin: %s\n%r', name, + exn, exc_info=True) finally: break if not module: self.core.information('Could not find plugin: %s' % name, 'Error') return + log.debug('Plugin %s loaded from "%s"', name, module.__file__) except Exception as e: log.debug("Could not load plugin %s", name, exc_info=True) self.core.information("Could not load plugin %s: %s" % (name, e), |