sec_interp.core.validation.path_validator module

sec_interp.core.validation.path_validator.validate_safe_output_path(path: str, base_dir: Path | None = None, must_exist: bool = False, create_if_missing: bool = False) tuple[bool, str, Path | None]

Validate an output path string with security and path traversal protection.

Parameters:
  • path – Original path string to validate.

  • base_dir – Optional base directory to restrict the path to (security sandbox).

  • must_exist – If True, validation fails if the path is not currently found on disk.

  • create_if_missing – If True, attempts to create the directory if it does not exist.

Returns:

(is_valid, error_message, resolved_path)
  • is_valid (bool): True if the path is safe and meets requirements.

  • error_message (str): Reason for validation failure.

  • resolved_path (Path | None): Cleaned, absolute Path object if valid.

Return type:

tuple

sec_interp.core.validation.path_validator.validate_output_path(path: str) tuple[bool, str, Path | None]

Validate that an output path is a valid directory and currently writable.

This is a convenience wrapper around validate_safe_output_path() for general directory validation.

Parameters:

path – The path string to validate.

Returns:

(is_valid, error_message, resolved_path)
  • is_valid (bool): True if the directory is valid and writable.

  • error_message (str): Error details if validation fails.

  • resolved_path (Path | None): Absolute Path object if valid.

Return type:

tuple