def newVersion(self, request, context):

        try:
            result = self.execution_environment.new_version(
                Utils.get_id(request.sessionID),
                Utils.get_id(request.objectID),
                dataclay_yaml_load(request.metadataInfo))

            vers_ids = dict()

            for k, v in result[1].items():
                vers_ids[Utils.prepare_bytes(str(k))] = Utils.prepare_bytes(
                    str(v))

            return dataservice_messages_pb2.NewVersionResponse(
                objectID=Utils.get_msg_options['object'](result[0]),
                versionedIDs=vers_ids)

        except Exception as ex:
            return dataservice_messages_pb2.NewVersionResponse(
                excInfo=self.get_exception_info(ex))
Esempio n. 2
0
    def perform_set_of_new_accounts(self, admin_id, admin_credential,
                                    yaml_file):

        request = logicmodule_messages_pb2.PerformSetAccountsRequest(
            accountID=Utils.get_msg_id(admin_id),
            credential=Utils.get_credential(admin_credential),
            yaml=yaml_file)
        lm_function = lambda request: self.lm_stub.performSetOfNewAccounts.future(
            request=request, metadata=self.metadata_call)
        response = self._call_logicmodule(request, lm_function)
        if response.excInfo.isException:
            raise DataClayException(response.excInfo.exceptionMessage)

        result = Utils.prepare_bytes(response.resultYaml)
        return result
    def newPersistentInstance(self, request, context):

        try:
            iface_bit_maps = {}

            for k, v in request.ifaceBitMaps.items():
                iface_bit_maps[Utils.get_id_from_uuid(k)] = Utils.prepare_bytes(v)

            params = []

            if request.params:
                params = Utils.get_param_or_return(request.params)

            oid = self.client.ds_new_persistent_instance(Utils.get_id(request.sessionID),
                                                         Utils.get_id(request.classID),
                                                         Utils.get_id(request.implementationID),
                                                         iface_bit_maps,
                                                         params)

            return dataservice_messages_pb2.NewPersistentInstanceResponse(objectID=Utils.get_msg_id(oid))

        except Exception as ex:
            return dataservice_messages_pb2.NewPersistentInstanceResponse(
                excInfo=self.get_exception_info(ex))