Пример #1
0
 def set(self, model_cls, path, meta):
     resource_type = self._model_class_to_resource_type(model_cls)
     message_body = MetadataRequest("set", "-" + resource_type, path,
                                    meta.name, meta.value, meta.units)
     request = iRODSMessage("RODS_API_REQ",
                            msg=message_body,
                            int_info=api_number['MOD_AVU_METADATA_AN'])
     with self.sess.pool.get_connection() as conn:
         conn.send(request)
         response = conn.recv()
     logger.debug(response.int_info)
Пример #2
0
    def copy(self, src_model_cls, dest_model_cls, src, dest):
        src_resource_type = self._model_class_to_resource_type(src_model_cls)
        dest_resource_type = self._model_class_to_resource_type(dest_model_cls)
        message_body = MetadataRequest("cp", "-" + src_resource_type,
                                       "-" + dest_resource_type, src, dest)
        request = iRODSMessage("RODS_API_REQ",
                               msg=message_body,
                               int_info=api_number['MOD_AVU_METADATA_AN'])

        with self.sess.pool.get_connection() as conn:
            conn.send(request)
            response = conn.recv()
        logger.debug(response.int_info)
    def add(self, model_cls, path, meta):
        # Avoid sending request with empty argument(s)
        if not (len(path) and len(meta.name) and len(meta.value)):
            raise ValueError('Empty value in ' + repr(meta))

        resource_type = self._model_class_to_resource_type(model_cls)
        message_body = MetadataRequest("add", "-" + resource_type, path,
                                       meta.name, meta.value, meta.units)
        request = iRODSMessage("RODS_API_REQ",
                               msg=message_body,
                               int_info=api_number['MOD_AVU_METADATA_AN'])
        with self.sess.pool.get_connection() as conn:
            conn.send(request)
            response = conn.recv()
        logger.debug(response.int_info)