def write(self, data, flags=0): # creating a ctypes.c_ubyte buffer to handle converting bytearray # to the required C data type if type(data) is bytearray: buf = (ctypes.c_ubyte * len(data)).from_buffer(data) else: buf = data ret = api.glfs_write(self.fd, buf, len(buf), flags) if ret < 0: err = ctypes.get_errno() raise OSError(err, os.strerror(err)) return ret
def write(self, data, flags=0): """ Write data to the file. :param data: The data to be written to file. :returns: The size in bytes actually written """ # creating a ctypes.c_ubyte buffer to handle converting bytearray # to the required C data type if type(data) is bytearray: buf = (ctypes.c_ubyte * len(data)).from_buffer(data) else: buf = data ret = api.glfs_write(self.fd, buf, len(buf), flags) if ret < 0: err = ctypes.get_errno() raise OSError(err, os.strerror(err)) return ret