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.
40 lines
1.3 KiB
40 lines
1.3 KiB
import os
|
|
|
|
import cexc
|
|
|
|
from util import models_util, rest_url_util, onnx_util
|
|
from util.constants import DEFAULT_LOOKUPS_DIR, ONNX_MODEL_EXTENSION
|
|
from util.lookups_util import file_name_to_path, parse_model_reply
|
|
from util.rest_proxy import rest_proxy_from_searchinfo
|
|
|
|
|
|
logger = cexc.get_logger(__name__)
|
|
|
|
|
|
def delete_model_with_splunk_rest(model_name, searchinfo=None, namespace=None):
|
|
if model_name.endswith(ONNX_MODEL_EXTENSION):
|
|
file_name = onnx_util.onnx_model_name_to_lookup(model_name)
|
|
else:
|
|
file_name = models_util.model_name_to_filename(model_name)
|
|
logger.debug('Deleting model: %s' % file_name)
|
|
rest_proxy = rest_proxy_from_searchinfo(searchinfo)
|
|
url = rest_url_util.make_get_lookup_url(
|
|
rest_proxy, namespace=namespace, lookup_file=file_name
|
|
)
|
|
reply = rest_proxy.make_rest_call('DELETE', url)
|
|
parse_model_reply(reply)
|
|
|
|
|
|
def delete_model(
|
|
model_name, searchinfo=None, namespace=None, model_dir=DEFAULT_LOOKUPS_DIR, tmp=False
|
|
):
|
|
if not tmp:
|
|
delete_model_with_splunk_rest(model_name, searchinfo, namespace)
|
|
else:
|
|
delete_model_from_disk(model_name, model_dir, tmp)
|
|
|
|
|
|
def delete_model_from_disk(model_name, model_dir=DEFAULT_LOOKUPS_DIR, tmp=False):
|
|
path = file_name_to_path(models_util.model_name_to_filename(model_name, tmp), model_dir)
|
|
os.unlink(path)
|