sec_interp.core.utils.safe_loader module
Module for safe and lazy loading of plugin components.
Provides utilities to catch import and initialization errors, allowing the core plugin to remain functional even if some modules fail.
- class sec_interp.core.utils.safe_loader.SafeLoader
Bases:
objectHandles safe and lazy loading of modules and classes.
- static lazy_load(module_name: str, class_name: str, fallback_factory: Callable[[], T] | None = None, *args: Any, **kwargs: Any) T | None
Lazy load and instantiate a class safely with arguments.
- Parameters:
module_name – Module to load from.
class_name – Class to instantiate.
fallback_factory – Optional factory to create a fallback instance.
*args – Positional arguments for the class constructor.
**kwargs – Keyword arguments for the class constructor.
- Returns:
An instance of the class or None/Fallback if loading failed.
- static safe_import(module_name: str, error_message: str | None = None) Any
Import a module safely, logging errors instead of crashing.
- Parameters:
module_name – Full path to the module.
error_message – Optional custom error message.
- Returns:
The loaded module or None if it failed.