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

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…