refs #631 - Modify some scripts and API

pull/1/head^2
Gerardo GIl Elizeire 2024-11-11 12:22:14 +01:00
parent 5c233f6c11
commit 5e56b83f46
5 changed files with 24 additions and 14 deletions

View File

@ -502,15 +502,25 @@ def delete_image(imageId):
# Evaluamos los parámetros obtenidos, para construir la llamada al script, o para devover un error si no se ha encontrado la imagen:
if param_dict:
if 'subdir' in param_dict:
if method == "trash":
if method == "permanent":
cmd = ['sudo', 'python3', f"{script_path}/deleteImage.py", f"{param_dict['subdir']}/{param_dict['name']}.{param_dict['extension']}", '-p']
elif method == "trash":
cmd = ['sudo', 'python3', f"{script_path}/deleteImage.py", f"{param_dict['subdir']}/{param_dict['name']}.{param_dict['extension']}"]
else:
cmd = ['sudo', 'python3', f"{script_path}/deleteImage.py", f"{param_dict['subdir']}/{param_dict['name']}.{param_dict['extension']}", '-p']
return jsonify({
"success": False,
"error": "Incorrect method (must be 'permanent' or 'trash')"
}), 400
else:
if method == "trash":
if method == "permanent":
cmd = ['sudo', 'python3', f"{script_path}/deleteImage.py", f"{param_dict['name']}.{param_dict['extension']}", '-p']
elif method == "trash":
cmd = ['sudo', 'python3', f"{script_path}/deleteImage.py", f"{param_dict['name']}.{param_dict['extension']}"]
else:
cmd = ['sudo', 'python3', f"{script_path}/deleteImage.py", f"{param_dict['name']}.{param_dict['extension']}", '-p']
return jsonify({
"success": False,
"error": "Incorrect method (must be 'permanent' or 'trash')"
}), 400
else:
return jsonify({
"success": False,

View File

@ -224,10 +224,10 @@ def main():
# Evaluamos la cantidad de barras que hay en la ruta de la imagen, para diferenciar entre imágenes "normales" y basadas en OU
# (y llamamos a la función correspondiente para eliminarla):
if file_path.count('/') == 4:
if file_path.count('/') == 5:
print("Deleting normal image...")
delete_normal_image(file_path, method, extensions)
elif file_path.count('/') == 5:
elif file_path.count('/') == 6:
print("Deleting OU based image...")
delete_ou_image(file_path, method, extensions)

View File

@ -145,10 +145,10 @@ def export_image(file_path, remote_host, remote_user):
except IOError:
print("As expected, image doesn't exist on remote repository.")
# Evaluamos si la ruta de la imagen tiene 5 barras, en cuyo caso corresponderá a una imagen basada en OU,
# Evaluamos si la ruta de la imagen tiene 6 barras, en cuyo caso corresponderá a una imagen basada en OU,
# y almacenamos el nombre del directorio correspondiente a la OU:
if file_path.count('/') == 5:
ou_subdir = file_path.split('/')[4]
if file_path.count('/') == 6:
ou_subdir = file_path.split('/')[5]
# Comprobamos si el directorio de OU existe en el equipo remoto, y en caso contrario lo creamos:
try:
sftp_client.stat(f"{repo_path}{ou_subdir}")

View File

@ -195,10 +195,10 @@ def main():
remote_host = sys.argv[2]
remote_user = sys.argv[3]
# Evaluamos si la ruta de la imagen tiene 5 barras, en cuyo caso corresponderá a una imagen basada en OU,
# Evaluamos si la ruta de la imagen tiene 6 barras, en cuyo caso corresponderá a una imagen basada en OU,
# y almacenamos el nombre del directorio correspondiente a la OU:
if file_path.count('/') == 5:
ou_subdir = file_path.split('/')[4]
if file_path.count('/') == 6:
ou_subdir = file_path.split('/')[5]
# Si no existe un directorio correspondiente a la OU en el repo local, lo creamos:
if not os.path.exists(f"{repo_path}{ou_subdir}"):
os.mkdir(f"{repo_path}{ou_subdir}", 0o755)

View File

@ -176,10 +176,10 @@ def main():
# Evaluamos la cantidad de barras que hay en la ruta de la imagen, para diferenciar entre imágenes "normales" y basadas en OU
# (y llamamos a la función correspondiente para recuperarla):
if file_path.count('/') == 4:
if file_path.count('/') == 5:
print("Recovering normal image...")
recover_normal_image(file_path, extensions)
elif file_path.count('/') == 5:
elif file_path.count('/') == 6:
print("Recovering OU based image...")
recover_ou_image(file_path, extensions)