Skip to content

Commit

Permalink
Merge pull request #12198 from tchaikov/wip-pybind-freebsd
Browse files Browse the repository at this point in the history
pybind: conditional compile the linux specific constant

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
  • Loading branch information
tchaikov committed Dec 27, 2016
2 parents b5acc28 + 7f6f9ac commit d0a2651
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 37 deletions.
38 changes: 26 additions & 12 deletions src/pybind/cephfs/cephfs.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -198,18 +198,32 @@ class WouldBlock(Error):
class OutOfRange(Error):
pass

cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.ENODATA : NoData,
errno.EINVAL : InvalidValue,
errno.EOPNOTSUPP : OperationNotSupported,
errno.ERANGE : OutOfRange,
errno.EWOULDBLOCK: WouldBlock,
}
IF UNAME_SYSNAME == "FreeBSD":
cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.ENOATTR : NoData,
errno.EINVAL : InvalidValue,
errno.EOPNOTSUPP : OperationNotSupported,
errno.ERANGE : OutOfRange,
errno.EWOULDBLOCK: WouldBlock,
}
ELSE:
cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.ENODATA : NoData,
errno.EINVAL : InvalidValue,
errno.EOPNOTSUPP : OperationNotSupported,
errno.ERANGE : OutOfRange,
errno.EWOULDBLOCK: WouldBlock,
}


cdef make_ex(ret, msg):
Expand Down
39 changes: 26 additions & 13 deletions src/pybind/rados/rados.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -377,19 +377,32 @@ class TimedOut(Error):
pass



cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.EBUSY : ObjectBusy,
errno.ENODATA : NoData,
errno.EINTR : InterruptedOrTimeoutError,
errno.ETIMEDOUT : TimedOut,
errno.EACCES : PermissionDeniedError
}
IF UNAME_SYSNAME == "FreeBSD":
cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.EBUSY : ObjectBusy,
errno.ENOATTR : NoData,
errno.EINTR : InterruptedOrTimeoutError,
errno.ETIMEDOUT : TimedOut,
errno.EACCES : PermissionDeniedError
}
ELSE:
cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.EBUSY : ObjectBusy,
errno.ENODATA : NoData,
errno.EINTR : InterruptedOrTimeoutError,
errno.ETIMEDOUT : TimedOut,
errno.EACCES : PermissionDeniedError
}


cdef make_ex(ret, msg):
Expand Down
38 changes: 26 additions & 12 deletions src/pybind/rgw/rgw.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -228,18 +228,32 @@ class WouldBlock(Error):
class OutOfRange(Error):
pass

cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.ENODATA : NoData,
errno.EINVAL : InvalidValue,
errno.EOPNOTSUPP : OperationNotSupported,
errno.ERANGE : OutOfRange,
errno.EWOULDBLOCK: WouldBlock,
}
IF UNAME_SYSNAME == "FreeBSD":
cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.ENOATTR : NoData,
errno.EINVAL : InvalidValue,
errno.EOPNOTSUPP : OperationNotSupported,
errno.ERANGE : OutOfRange,
errno.EWOULDBLOCK: WouldBlock,
}
ELSE:
cdef errno_to_exception = {
errno.EPERM : PermissionError,
errno.ENOENT : ObjectNotFound,
errno.EIO : IOError,
errno.ENOSPC : NoSpace,
errno.EEXIST : ObjectExists,
errno.ENODATA : NoData,
errno.EINVAL : InvalidValue,
errno.EOPNOTSUPP : OperationNotSupported,
errno.ERANGE : OutOfRange,
errno.EWOULDBLOCK: WouldBlock,
}


cdef class FileHandle(object):
Expand Down

0 comments on commit d0a2651

Please sign in to comment.