Exceptions

The exceptions module defines custom exceptions used throughout oduit.

exception oduit.exceptions.ConfigError[source]

Bases: Exception

Error for missing configuration values

exception oduit.exceptions.OdooOperationError(message: str, operation_result: dict | None = None)[source]

Bases: Exception

Base exception for Odoo operations

__init__(message: str, operation_result: dict | None = None)[source]
exception oduit.exceptions.ModuleOperationError(message: str, operation_result: dict | None = None)[source]

Bases: OdooOperationError

Base exception for module operations

exception oduit.exceptions.ModuleUpdateError(message: str, operation_result: dict | None = None)[source]

Bases: ModuleOperationError

Raised when module update fails

exception oduit.exceptions.ModuleInstallError(message: str, operation_result: dict | None = None)[source]

Bases: ModuleOperationError

Raised when module installation fails

exception oduit.exceptions.ModuleUninstallError(message: str, operation_result: dict | None = None)[source]

Bases: ModuleOperationError

Raised when module uninstall fails

exception oduit.exceptions.ModuleNotFoundError(message: str, operation_result: dict | None = None)[source]

Bases: ModuleOperationError

Raised when module doesn’t exist

exception oduit.exceptions.DatabaseOperationError(message: str, operation_result: dict | None = None)[source]

Bases: OdooOperationError

Raised when database operations fail

Exception Hierarchy

Exception
└── ConfigError
└── OdooOperationError
    ├── ModuleOperationError
    │   ├── ModuleInstallError
    │   ├── ModuleUpdateError
    │   └── ModuleNotFoundError
    └── DatabaseOperationError

Usage Examples

from oduit import ConfigLoader, ConfigError, ModuleInstallError, OdooOperations

loader = ConfigLoader()

try:
    config = loader.load_config("dev")
except ConfigError as exc:
    print(f"Configuration error: {exc}")
else:
    ops = OdooOperations(config)
    try:
        ops.install_module("nonexistent_module", raise_on_error=True)
    except ModuleInstallError as exc:
        print(f"Module installation failed: {exc}")