Source code for eventsourcing.exceptions

[docs]class EventSourcingError(Exception):
"""Base eventsourcing exception."""
[docs]class TopicResolutionError(EventSourcingError):
"""Raised when unable to resolve a topic to a Python class."""
[docs]class EntityVersionNotFound(EventSourcingError):
"""Raise when accessing an entity version that does not exist."""
[docs]class ConcurrencyError(EventSourcingError):
"""Raised when appending events at the wrong version to a versioned stream."""
[docs]class ConsistencyError(EventSourcingError):
"""Raised when applying an event stream to a versioned entity."""
[docs]class MismatchedOriginatorError(ConsistencyError):
"""Raised when applying an event to an inappropriate object."""
[docs]class OriginatorIDError(MismatchedOriginatorError):
"""Raised when applying an event to the wrong entity or aggregate."""
[docs]class OriginatorVersionError(MismatchedOriginatorError):
"""Raised when applying an event to the wrong version of an entity or aggregate."""
[docs]class MutatorRequiresTypeNotInstance(ConsistencyError):
"""Raised when mutator function received a class rather than an entity."""
[docs]class DataIntegrityError(ValueError, EventSourcingError):
"Raised when a sequenced item data is damaged (hash doesn't match data)"
[docs]class EventHashError(DataIntegrityError):
"Raised when an event's seal hash doesn't match the hash of the state of the event."
[docs]class HeadHashError(DataIntegrityError, MismatchedOriginatorError):
"""Raised when applying an event with hash different from aggregate head."""
[docs]class EntityIsDiscarded(AssertionError):
"""Raised when access to a recently discarded entity object is attempted."""
[docs]class ProgrammingError(EventSourcingError):
"""Raised when programming errors are encountered."""
[docs]class RepositoryKeyError(KeyError, EventSourcingError):
"""Raised when using entity repository's dictionary like interface to get an entity that does not exist."""
[docs]class ArrayIndexError(IndexError, EventSourcingError):
"""Raised when appending item to an array that is full."""
[docs]class DatasourceSettingsError(EventSourcingError):
"Raised when an error is detected in settings for a datasource."
[docs]class SequencedItemConflict(EventSourcingError):
"Raised when a sequence error occurs e.g. trying to save a version that already exists."
[docs]class RecordIDConflict(SequencedItemConflict):
"Raised when a record ID conflict is detected."
[docs]class TimeSequenceError(EventSourcingError):
"Raised when a time sequence error occurs e.g. trying to save a timestamp that already exists."