From c8ece47d27bbb6e86738665ddf4991a681528138 Mon Sep 17 00:00:00 2001 From: dgtlmoon Date: Mon, 24 Nov 2025 16:42:08 +0100 Subject: [PATCH] WIP --- changedetectionio/pluggy_interface.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/changedetectionio/pluggy_interface.py b/changedetectionio/pluggy_interface.py index 88a7ffbe..06a3c3a0 100644 --- a/changedetectionio/pluggy_interface.py +++ b/changedetectionio/pluggy_interface.py @@ -267,14 +267,17 @@ def get_fetcher_capabilities(watch, datastore): } # Try to get from plugin-provided fetchers - fetchers = collect_content_fetchers() - for name, fetcher_class in fetchers: - if name == fetcher_name: - return { - 'supports_browser_steps': getattr(fetcher_class, 'supports_browser_steps', False), - 'supports_screenshots': getattr(fetcher_class, 'supports_screenshots', False), - 'supports_xpath_element_data': getattr(fetcher_class, 'supports_xpath_element_data', False) - } + # Query all plugins for registered fetchers + plugin_fetchers = plugin_manager.hook.register_content_fetcher() + for fetcher_registration in plugin_fetchers: + if fetcher_registration: + name, fetcher_class = fetcher_registration + if name == fetcher_name: + return { + 'supports_browser_steps': getattr(fetcher_class, 'supports_browser_steps', False), + 'supports_screenshots': getattr(fetcher_class, 'supports_screenshots', False), + 'supports_xpath_element_data': getattr(fetcher_class, 'supports_xpath_element_data', False) + } # Default: no capabilities return {