Source code for kazoo.exceptions

"""Kazoo Exceptions"""
from collections import defaultdict


[docs]class KazooException(Exception): """Base Kazoo exception that all other kazoo library exceptions inherit from"""
[docs]class ZookeeperError(KazooException): """Base Zookeeper exception for errors originating from the Zookeeper server"""
[docs]class CancelledError(KazooException): """Raised when a process is cancelled by another thread"""
[docs]class ConfigurationError(KazooException): """Raised if the configuration arguments to an object are invalid"""
[docs]class ZookeeperStoppedError(KazooException): """Raised when the kazoo client stopped (and thus not connected)"""
[docs]class ConnectionDropped(KazooException): """Internal error for jumping out of loops"""
[docs]class LockTimeout(KazooException): """Raised if failed to acquire a lock. .. versionadded:: 1.1 """
[docs]class WriterNotClosedException(KazooException): """Raised if the writer is unable to stop closing when requested. .. versionadded:: 1.2 """
def _invalid_error_code(): raise RuntimeError('Invalid error code') EXCEPTIONS = defaultdict(_invalid_error_code) def _zookeeper_exception(code): def decorator(klass): def create(*args, **kwargs): return klass(args, kwargs) EXCEPTIONS[code] = create klass.code = code return klass return decorator @_zookeeper_exception(0)
[docs]class RolledBackError(ZookeeperError): pass
@_zookeeper_exception(-1)
[docs]class SystemZookeeperError(ZookeeperError): pass
@_zookeeper_exception(-2)
[docs]class RuntimeInconsistency(ZookeeperError): pass
@_zookeeper_exception(-3)
[docs]class DataInconsistency(ZookeeperError): pass
@_zookeeper_exception(-4)
[docs]class ConnectionLoss(ZookeeperError): pass
@_zookeeper_exception(-5)
[docs]class MarshallingError(ZookeeperError): pass
@_zookeeper_exception(-6)
[docs]class UnimplementedError(ZookeeperError): pass
@_zookeeper_exception(-7)
[docs]class OperationTimeoutError(ZookeeperError): pass
@_zookeeper_exception(-8)
[docs]class BadArgumentsError(ZookeeperError): pass
@_zookeeper_exception(-100)
[docs]class APIError(ZookeeperError): pass
@_zookeeper_exception(-101)
[docs]class NoNodeError(ZookeeperError): pass
@_zookeeper_exception(-102)
[docs]class NoAuthError(ZookeeperError): pass
@_zookeeper_exception(-103)
[docs]class BadVersionError(ZookeeperError): pass
@_zookeeper_exception(-108)
[docs]class NoChildrenForEphemeralsError(ZookeeperError): pass
@_zookeeper_exception(-110)
[docs]class NodeExistsError(ZookeeperError): pass
@_zookeeper_exception(-111)
[docs]class NotEmptyError(ZookeeperError): pass
@_zookeeper_exception(-112)
[docs]class SessionExpiredError(ZookeeperError): pass
@_zookeeper_exception(-113)
[docs]class InvalidCallbackError(ZookeeperError): pass
@_zookeeper_exception(-114)
[docs]class InvalidACLError(ZookeeperError): pass
@_zookeeper_exception(-115)
[docs]class AuthFailedError(ZookeeperError): pass
@_zookeeper_exception(-118)
[docs]class SessionMovedError(ZookeeperError): pass
@_zookeeper_exception(-119)
[docs]class NotReadOnlyCallError(ZookeeperError): """An API call that is not read-only was used while connected to a read-only server"""
[docs]class ConnectionClosedError(SessionExpiredError): """Connection is closed""" # BW Compat aliases for C lib style exceptions
ConnectionLossException = ConnectionLoss MarshallingErrorException = MarshallingError SystemErrorException = SystemZookeeperError RuntimeInconsistencyException = RuntimeInconsistency DataInconsistencyException = DataInconsistency UnimplementedException = UnimplementedError OperationTimeoutException = OperationTimeoutError BadArgumentsException = BadArgumentsError ApiErrorException = APIError NoNodeException = NoNodeError NoAuthException = NoAuthError BadVersionException = BadVersionError NoChildrenForEphemeralsException = NoChildrenForEphemeralsError NodeExistsException = NodeExistsError InvalidACLException = InvalidACLError AuthFailedException = AuthFailedError NotEmptyException = NotEmptyError SessionExpiredException = SessionExpiredError InvalidCallbackException = InvalidCallbackError