Source code for aeat.domain.filing._errors

"""Domain errors for the :mod:`domain.filing` subpackage.

Every exception inherits from :class:`~core.errors.AeatError` so
callers can catch the project-wide base.
"""

from __future__ import annotations

from ...core.errors import AeatError, CoreValidationError


[docs] class ModeloDraftError(AeatError): """Base class for every error raised inside :mod:`domain.filing`."""
[docs] class ModeloBuilderError(ModeloDraftError): """Raised when builder selection or execution fails."""
[docs] class FilingValidationError(ModeloDraftError, CoreValidationError): """Raised when validation surfaces a blocking finding. The validator itself never raises; this error is reserved for callers that opt into ``fail_on_warning`` and want a hard fail. """
[docs] class ModeloComputationError(ModeloDraftError): """Raised when a builder cannot evaluate a formula casilla."""
[docs] class ModeloAmendmentError(ModeloDraftError): """Base class for every amendment-related filing error."""
[docs] class ModeloAmendmentValidationError(ModeloAmendmentError): """Raised when an amendment violates legal or shape invariants."""
[docs] class ModeloImportError(ModeloDraftError): """Raised when importing a filing from a justificante PDF fails."""
[docs] class FilingExportError(ModeloDraftError): """Raised when exporting a draft to an AEAT wire format fails."""
[docs] class FilingExportValidationError(FilingExportError, ValueError): """Raised on invalid export field values or layouts. Inherits from ValueError for Pydantic."""