pass
-class PermissionError(Error):
- pass
+class OSError(Error):
+ def __init__(self, errno, strerror):
+ self.errno = errno
+ self.strerror = strerror
+
+ def __str__(self):
+ return '[Errno {0}] {1}'.format(self.errno, self.strerror)
-class ObjectNotFound(Error):
+class PermissionError(OSError):
pass
-class NoData(Error):
+class ObjectNotFound(OSError):
pass
-class ObjectExists(Error):
+class NoData(OSError):
pass
-class IOError(Error):
+class ObjectExists(OSError):
pass
-class NoSpace(Error):
+class IOError(OSError):
pass
-class InvalidValue(Error):
+class NoSpace(OSError):
pass
-class OperationNotSupported(Error):
+class InvalidValue(OSError):
pass
-class IncompleteWriteError(Error):
+class OperationNotSupported(OSError):
pass
class LibCephFSStateError(Error):
pass
-class WouldBlock(Error):
+
+class WouldBlock(OSError):
pass
-class OutOfRange(Error):
+
+class OutOfRange(OSError):
pass
+
IF UNAME_SYSNAME == "FreeBSD":
cdef errno_to_exception = {
errno.EPERM : PermissionError,
"""
ret = abs(ret)
if ret in errno_to_exception:
- return errno_to_exception[ret](msg)
+ return errno_to_exception[ret](ret, msg)
else:
- return Error(msg + (": error code %d" % ret))
+ return Error(ret, msg + (": error code %d" % ret))
class DirEntry(namedtuple('DirEntry',
ANONYMOUS_AUID = 0xffffffffffffffff
ADMIN_AUID = 0
+
class Error(Exception):
""" `Error` class, derived from `Exception` """
+ pass
class InvalidArgument(Error):
pass
-class InterruptedOrTimeoutError(Error):
- """ `InterruptedOrTimeoutError` class, derived from `Error` """
- pass
+class OSError(Error):
+ """ `OSError` class, derived from `Error` """
+ def __init__(self, errno, strerror):
+ self.errno = errno
+ self.strerror = strerror
+
+ def __str__(self):
+ return '[Errno {0}] {1}'.format(self.errno, self.strerror)
-class PermissionError(Error):
- """ `PermissionError` class, derived from `Error` """
+class InterruptedOrTimeoutError(OSError):
+ """ `InterruptedOrTimeoutError` class, derived from `OSError` """
pass
-class PermissionDeniedError(Error):
- """ deal with EACCES related. """
+
+class PermissionError(OSError):
+ """ `PermissionError` class, derived from `OSError` """
pass
-class ObjectNotFound(Error):
- """ `ObjectNotFound` class, derived from `Error` """
+
+class PermissionDeniedError(OSError):
+ """ deal with EACCES related. """
pass
-class NoData(Error):
- """ `NoData` class, derived from `Error` """
+class ObjectNotFound(OSError):
+ """ `ObjectNotFound` class, derived from `OSError` """
pass
-class ObjectExists(Error):
- """ `ObjectExists` class, derived from `Error` """
+class NoData(OSError):
+ """ `NoData` class, derived from `OSError` """
pass
-class ObjectBusy(Error):
- """ `ObjectBusy` class, derived from `Error` """
+class ObjectExists(OSError):
+ """ `ObjectExists` class, derived from `OSError` """
pass
-class IOError(Error):
- """ `IOError` class, derived from `Error` """
+class ObjectBusy(OSError):
+ """ `ObjectBusy` class, derived from `IOError` """
pass
-class NoSpace(Error):
- """ `NoSpace` class, derived from `Error` """
+class IOError(OSError):
+ """ `ObjectBusy` class, derived from `OSError` """
pass
-class IncompleteWriteError(Error):
- """ `IncompleteWriteError` class, derived from `Error` """
+class NoSpace(OSError):
+ """ `NoSpace` class, derived from `OSError` """
pass
""" `IoctxStateError` class, derived from `Error` """
pass
+
class ObjectStateError(Error):
""" `ObjectStateError` class, derived from `Error` """
pass
pass
-class TimedOut(Error):
- """ `TimedOut` class, derived from `Error` """
+class TimedOut(OSError):
+ """ `TimedOut` class, derived from `OSError` """
pass
"""
ret = abs(ret)
if ret in errno_to_exception:
- return errno_to_exception[ret](msg)
+ return errno_to_exception[ret](ret, msg)
else:
- return Error(msg + (": error code %d" % ret))
+ return Error(ret, msg + (": error code %d" % ret))
# helper to specify an optional argument, where in addition to `cls`, `None`
pass
-class PermissionError(Error):
+class OSError(Error):
+ """ `OSError` class, derived from `Error` """
+ def __init__(self, errno, strerror):
+ self.errno = errno
+ self.strerror = strerror
+
+ def __str__(self):
+ return '[Errno {0}] {1}'.format(self.errno, self.strerror)
+
+
+class PermissionError(OSError):
pass
-class ImageNotFound(Error):
+class ImageNotFound(OSError):
pass
-class ImageExists(Error):
+class ImageExists(OSError):
pass
-class IOError(Error):
+class IOError(OSError):
pass
-class NoSpace(Error):
+class NoSpace(OSError):
pass
-class IncompleteWriteError(Error):
+class IncompleteWriteError(OSError):
pass
-class InvalidArgument(Error):
+class InvalidArgument(OSError):
pass
pass
-class ReadOnlyImage(Error):
+class ReadOnlyImage(OSError):
pass
-class ImageBusy(Error):
+class ImageBusy(OSError):
pass
-class ImageHasSnapshots(Error):
+class ImageHasSnapshots(OSError):
pass
-class FunctionNotSupported(Error):
+class FunctionNotSupported(OSError):
pass
-class ArgumentOutOfRange(Error):
+class ArgumentOutOfRange(OSError):
pass
-class ConnectionShutdown(Error):
+class ConnectionShutdown(OSError):
pass
-class Timeout(Error):
+class Timeout(OSError):
pass
-class DiskQuotaExceeded(Error):
+class DiskQuotaExceeded(OSError):
pass
"""
ret = abs(ret)
if ret in errno_to_exception:
- return errno_to_exception[ret](msg)
+ return errno_to_exception[ret](ret, msg)
else:
- return Error(msg + (": error code %d" % ret))
+ return Error(ret, msg + (": error code %d" % ret))
cdef rados_ioctx_t convert_ioctx(rados.Ioctx ioctx) except? NULL:
pass
-class PermissionError(Error):
+class OSError(Error):
+ """ `OSError` class, derived from `Error` """
+ def __init__(self, errno, strerror):
+ self.errno = errno
+ self.strerror = strerror
+
+ def __str__(self):
+ return '[Errno {0}] {1}'.format(self.errno, self.strerror)
+
+
+class PermissionError(OSError):
pass
-class ObjectNotFound(Error):
+class ObjectNotFound(OSError):
pass
pass
-class IOError(Error):
+class IOError(OSError):
pass
"""
ret = abs(ret)
if ret in errno_to_exception:
- return errno_to_exception[ret](msg)
+ return errno_to_exception[ret](ret, msg)
else:
return Error(msg + (": error code %d" % ret))