seafile_ynh/sources/seafile-server-3.1.1/seahub/thirdpart/seafobj/utils/ceph_utils.py
Elie 0f063400be Add sources
Former-commit-id: 2e47976ec5
2014-08-06 22:42:37 -04:00

20 lines
539 B
Python

#coding: UTF-8
#
import rados
from ctypes import c_char_p
def ioctx_set_namespace(ioctx, namespace):
'''Python rados client has no binding for rados_ioctx_set_namespace, we
add it here.
'''
ioctx.require_ioctx_open()
if isinstance(namespace, unicode):
namespace = namespace.encode('UTF-8')
if not isinstance(namespace, str):
raise TypeError('namespace must be a string')
rados.run_in_thread(ioctx.librados.rados_ioctx_set_namespace,
(ioctx.io, c_char_p(namespace)))