From e74447c65e348bb1e5f59013bbc0a9047b467286 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Mon, 5 Oct 2026 09:54:38 -0400 Subject: [PATCH] fix(plugins): call the runtime view's display_modes directly Codacy flagged the getattr/callable indirection as 'lookup is not callable'. The view is a PluginRuntimeView or None; anything else raises inside the existing try and falls back to the manifest. Co-Authored-By: Claude Opus 5.5 --- src/plugin_system/plugin_catalog.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/plugin_system/plugin_catalog.py b/src/plugin_system/plugin_catalog.py index 18d947e6..9483630d 100644 --- a/src/plugin_system/plugin_catalog.py +++ b/src/plugin_system/plugin_catalog.py @@ -205,12 +205,11 @@ class PluginCatalog: def _live_display_modes(self, plugin_id: str) -> Optional[List[str]]: """The modes the running display registered for ``plugin_id``, or None.""" view = self._runtime_view() - lookup = getattr(view, 'display_modes', None) - if not callable(lookup): + if view is None: return None try: - modes = lookup(plugin_id) - except Exception as exc: + modes = view.display_modes(plugin_id) + except Exception as exc: # includes a source returning something else self.logger.debug("Could not read display modes for %s: %s", plugin_id, exc) return None return list(modes) if isinstance(modes, list) and modes else None