INNER CODE UNIT · Python
get_plugin_validator
bunkerity/bunkerweb · src/scheduler/main.py:543
def get_plugin_validator() -> Configurator:
global PLUGIN_VALIDATOR
if PLUGIN_VALIDATOR is None:
PLUGIN_VALIDATOR = Configurator(BUNKERWEB_PATH / "settings.json", BUNKERWEB_PATH / "core", [], [], {}, LOGGER)
return PLUGIN_VALIDATOR
def validate_manual_plugin(plugin_data: Dict[str, Any], plugin_path: Path, *, log_invalid: bool = True) -> bool:
try:
valid, message = get_plugin_validator()._Configurator__validate_plugin(deepcopy(plugin_data))
except (AttributeError, KeyError, OSError, TypeError, ValueError) as e:
if log_invalid:
LOGGER.error(f"Ignoring invalid manual plugin {plugin_path.name}: {e}")
return False
if not valid and log_invalid:
LOGGER.error(f"Ignoring invalid manual plugin {plugin_path.name}: {message}")
return valid