in decisionai_plugin/common/plugin_service.py [0:0]
def delete(self, request, model_id):
if not self.trainable:
return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_SUCCESS, message='Model is not trainable')), 200)
try:
subscription = request.headers.get('apim-subscription-id', 'Official')
request_body = json.loads(request.data)
request_body[INSTANCE_ID_KEY] = subscription
instance_id = request_body['instance']['instanceId']
result, message = self.do_delete(request_body, model_id)
if result == STATUS_SUCCESS:
update_state(self.config, subscription, model_id, ModelState.Deleted)
return make_response(jsonify(dict(instanceId=instance_id, modelId=model_id, taskId='', result=STATUS_SUCCESS, message='Model {} has been deleted'.format(model_id), modelState=ModelState.Deleted.name)), 200)
else:
raise Exception(message)
except Exception as e:
error_message = str(e)
log.error("Delete model failed! subscription = %s, model_id = %s, last_error = %s" % (subscription, model_id, error_message + '\n' + traceback.format_exc()))
return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_FAIL, message=error_message, modelState=ModelState.Failed.name)), 400)