You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.3 KiB
34 lines
1.3 KiB
"""
|
|
REST handler for `upload_model` command
|
|
"""
|
|
from util.searchinfo_util import searchinfo_from_request
|
|
from util import onnx_util
|
|
|
|
|
|
class UploadModel(object):
|
|
@classmethod
|
|
def handle_post(cls, request, path_parts):
|
|
"""
|
|
Handles POST requests
|
|
|
|
Args:
|
|
request: a dictionary providing information about the request
|
|
path_parts: a list of strings describing the request path
|
|
"""
|
|
try:
|
|
searchinfo = searchinfo_from_request(request)
|
|
# TODO: Create safe_handler to handle post request safely
|
|
process_options = onnx_util.create_process_options_for_rest(
|
|
request, searchinfo, process_options={}
|
|
)
|
|
response = onnx_util.validate_model_and_upload(process_options, searchinfo)
|
|
except Exception as e:
|
|
message = (
|
|
f"{e} Error occurred while model upload. Please check mlspl.log for error logs "
|
|
)
|
|
error = onnx_util.ModelUploadResponse(message=message).get_response_error()
|
|
return error
|
|
# Return success or failure based on whether the model file is validated and verified.
|
|
success = onnx_util.ModelUploadResponse(payload=response).get_response_success()
|
|
return success
|