diff --git a/api/repo_api.py b/api/repo_api.py index 93c016e..d71807e 100644 --- a/api/repo_api.py +++ b/api/repo_api.py @@ -8,7 +8,7 @@ Responde a peticiones HTTP (en principio, enviadas desde ogCore) mediante endpoi En ciertos casos, transforma los parámetros recibidos desde el portal, para adaptarlos a los que es necesario enviar a los scripts (por ejemplo, a partir del ID de una imagen obtiene su nombre y su extensión). -Librerías Python requeridas: - flask (se puede instalar con "sudo apt install python3-flask") +Librerías Python requeridas: - flask (se puede instalar con "sudo apt install python3-flask") - paramiko (se puede instalar con "sudo apt install python3-paramiko") - requests (se puede instalar con "sudo apt install python3-requests") - No es necesario instalarlo en Ubuntu 24 - flasgger (se puede instalar con "sudo apt install python3-flasgger") @@ -72,12 +72,13 @@ def get_IPcore(): Retorna la IP encontrada (que corresponde a la IP de ogCore), o un error (si no la encuentra). """ journal.send("Running function 'get_IPcore'...", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") - + IPcore = None with open(config_file, 'r') as file: for line in file: if line.startswith('IPcore'): IPcore = line.split('=')[1].strip() + journal.send(f"ogCore IP obtained ({IPcore})", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return IPcore if IPcore is None: journal.send("Can't obtain ogCore IP", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") @@ -111,6 +112,7 @@ def get_image_params(image_id, search='all'): if image.get('fullsum') == image_id: result['name'] = image.get('name') result['extension'] = image.get('type') + journal.send("Image found in repository JSON file", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return result # Abrimos y almacenamos el archivo "trashinfo.json" (solo si se ha de buscar en la papelera, y si el archivo tiene contenido): @@ -122,9 +124,11 @@ def get_image_params(image_id, search='all'): if image.get('fullsum') == image_id: result['name'] = image.get('name') result['extension'] = image.get('type') + journal.send("Image found in trash JSON file", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return result # Si no encontramos la imagen, retornamos "None": + journal.send("Image not found in JSON file", PRIORITY=journal.LOG_WARNING, SYSLOG_IDENTIFIER="ogrepo-api") return None @@ -154,7 +158,7 @@ def search_process(process, string_to_search): return False # Si se ha producido una excepción, imprimimos el error: except Exception as error_description: - journal.send(f"Function result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Function 'search_process' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") print(f"Unexpected error: {error_description}") @@ -190,7 +194,7 @@ def check_remote_connection(remote_ip, remote_user): # Si se produce una excepción, retornamos "False": except Exception as error_description: - journal.send(f"Function result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Function 'check_remote_connection' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return False @@ -407,19 +411,19 @@ def get_repo_status(): # Evaluamos el resultado de la ejecución, y devolvemos la respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'getRepoStatus.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": json.loads(result.stdout) }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getRepoStatus.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getRepoStatus.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -444,19 +448,19 @@ def get_repo_info(): # Evaluamos el resultado de la ejecución, y devolvemos la respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'getRepoInfo.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": json.loads(result.stdout) }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getRepoInfo.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getRepoInfo.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -494,19 +498,19 @@ def get_repo_image_info(imageId): # Evaluamos el resultado de la ejecución, y devolvemos la respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'getRepoInfo.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": json.loads(result.stdout) }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getRepoInfo.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getRepoInfo.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -531,19 +535,19 @@ def update_repo_info(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'updateRepoInfo.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Repository info updated successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'updateRepoInfo.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'updateRepoInfo.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -582,7 +586,7 @@ def check_image(imageId): # Evaluamos el resultado de la ejecución, y devolvemos la respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'checkImage.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") if "Error" in result.stdout: return jsonify({ "success": True, @@ -594,13 +598,13 @@ def check_image(imageId): "output": "Image file passed the Integrity Check correctly" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'checkImage.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'checkImage.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -650,19 +654,19 @@ def delete_image(imageId): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'deleteImage.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Image deleted successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'deleteImage.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'deleteImage.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -705,19 +709,19 @@ def recover_image(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'recoverImage.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Image recovered successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'recoverImage.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'recoverImage.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -755,19 +759,19 @@ def delete_trash_image(imageId): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'deleteTrashImage.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Image deleted successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'deleteTrashImage.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'deleteTrashImage.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -833,7 +837,7 @@ def import_image(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode is None: - journal.send("Script result OK (ReturnCode: None)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'importImage.py' result OK (ReturnCode: None)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") # Si el resultado es correcto, llamamos a la función "check_lock_local" en un hilo paralelo # (para que compruebe si la imagen se ha acabado de importar exitosamente): journal.send("Calling function 'check_lock_local'...", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") @@ -846,19 +850,19 @@ def import_image(): "job_id": job_id }), 200 else: - journal.send("Script result KO (Image import failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'importImage.py' result KO (Image import failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": "Image import failed" }), 500 except subprocess.CalledProcessError as error: - journal.send(f"Script result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'importImage.py' result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "process exception": str(error) }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'importImage.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -927,7 +931,7 @@ def export_image(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode is None: - journal.send("Script result OK (ReturnCode: None)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'exportImage.py' result OK (ReturnCode: None)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") # Si el resultado es correcto, llamamos a la función "check_lock_remote" en un hilo paralelo # (para que compruebe si la imagen se ha acabado de exportar exitosamente): journal.send("Calling function 'check_lock_remote'...", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") @@ -940,13 +944,13 @@ def export_image(): "job_id": job_id }), 200 else: - journal.send("Script result KO (Export image failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'exportImage.py' result KO (Export image failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": "Export image failed" }), 500 except subprocess.CalledProcessError as error: - journal.send(f"Script result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'exportImage.py' result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "process exception": str(error) @@ -959,7 +963,7 @@ def export_image(): "exception": "Image already exists on remote server" }), 400 else: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'exportImage.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1006,7 +1010,7 @@ def create_torrent_sum(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode is None: - journal.send("Script result OK (ReturnCode: None)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'createTorrentSum.py' result OK (ReturnCode: None)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") # Si el resultado es correcto, llamamos a la función "check_aux_files" en un hilo paralelo # (para que compruebe si se han creado todos los archivos auxiliares exitosamente): journal.send("Calling function 'check_aux_files'...", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") @@ -1019,7 +1023,7 @@ def create_torrent_sum(): "job_id": job_id }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'createTorrentSum.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr @@ -1038,7 +1042,7 @@ def create_torrent_sum(): "exception": "Image is locked" }), 400 else: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'createTorrentSum.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1068,19 +1072,19 @@ def send_wakeonlan(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'sendWakeOnLan.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Wake On Lan packet sended successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'sendWakeOnLan.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'sendWakeOnLan.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1132,25 +1136,25 @@ def send_udpcast(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode is None and process_running == True: - journal.send("Script result OK (ReturnCode: None), and process running", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'sendFileMcast.py' result OK (ReturnCode: None), and process running", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Sending image..." }), 200 else: - journal.send("Script result KO (Image send failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'sendFileMcast.py' result KO (Image send failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": "Image send failed" }), 500 except subprocess.CalledProcessError as error: - journal.send(f"Script result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'sendFileMcast.py' result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "process exeption": str(error) }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'sendFileMcast.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1200,25 +1204,25 @@ def send_uftp(): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode is None and process_running == True: - journal.send("Script result OK (ReturnCode: None), and process running", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'sendFileUFTP.py' result OK (ReturnCode: None), and process running", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Sending image..." }), 200 else: - journal.send("Script result KO (Image send failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'sendFileUFTP.py' result KO (Image send failed)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": "Image send failed" }), 500 except subprocess.CalledProcessError as error: - journal.send(f"Script result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'sendFileUFTP.py' result KO (Process Exception: {str(error)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "process exeption": str(error) }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'sendFileUFTP.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1272,13 +1276,13 @@ def send_p2p(): # Evaluamos las comprobaciones anteriores, para devolver la respuesta que corresponda: if tracker_running and seeder_running: - journal.send("Scripts results OK (ReturnCode: None), and processes running", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Scripts 'runTorrentTracker.py' and 'runTorrentSeeder.py' results OK (ReturnCodes: None), and processes running", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Tracker and Seeder serving image correctly" }), 200 else: - journal.send("Scripts results KO (Tracker or/and Seeder not runnig)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Scripts 'runTorrentTracker.py' and 'runTorrentSeeder.py' results KO (Tracker or/and Seeder not runnig)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": "Tracker or Seeder (or both) not running" @@ -1304,13 +1308,13 @@ def get_udpcast_info(): # Evaluamos el resultado de la ejecución, y devolvemos la respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'getUDPcastInfo.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": json.loads(result.stdout) }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getUDPcastInfo.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr @@ -1323,7 +1327,7 @@ def get_udpcast_info(): "exception": "No UDPCast active transmissions" }), 400 else: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getUDPcastInfo.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1349,13 +1353,13 @@ def get_uftp_info(): # Evaluamos el resultado de la ejecución, y devolvemos la respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'getUFTPInfo.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": json.loads(result.stdout) }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getUFTPInfo.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr @@ -1368,7 +1372,7 @@ def get_uftp_info(): "exception": "No UFTP active transmissions" }), 400 else: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'getUFTPInfo.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1406,13 +1410,13 @@ def stop_udpcast(imageId): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'stopUDPcast.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Image transmission canceled successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'stopUDPcast.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr @@ -1425,19 +1429,19 @@ def stop_udpcast(imageId): "exception": "No UDPCast active transmissions for specified image" }), 400 elif "exit status 4" in str(error_description): - journal.send("Script result KO (Unexpected error checking UDPcast transmissions)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'stopUDPcast.py' result KO (Unexpected error checking UDPcast transmissions)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": "Unexpected error checking UDPcast transmissions" }), 500 elif "exit status 5" in str(error_description): - journal.send("Script result KO (Unexpected error finalizing UDPcast transmission)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'stopUDPcast.py' result KO (Unexpected error finalizing UDPcast transmission)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": "Unexpected error finalizing UDPcast transmission" }), 500 else: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'stopUDPcast.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1475,13 +1479,13 @@ def stop_uftp(imageId): # Evaluamos el resultado de la ejecución, y devolvemos una respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'stopUFTP.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "Image transmission canceled successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'stopUFTP.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr @@ -1494,19 +1498,19 @@ def stop_uftp(imageId): "exception": "No UFTP active transmissions for specified image" }), 400 elif "exit status 4" in str(error_description): - journal.send("Script result KO (Unexpected error checking UFTP transmissions)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'stopUFTP.py' result KO (Unexpected error checking UFTP transmissions)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": "Unexpected error checking UFTP transmissions" }), 500 elif "exit status 5" in str(error_description): - journal.send("Script result KO (Unexpected error finalizing UFTP transmission)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'stopUFTP.py' result KO (Unexpected error finalizing UFTP transmission)", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": "Unexpected error finalizing UFTP transmission" }), 500 else: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'stopUFTP.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description) @@ -1531,19 +1535,19 @@ def stop_p2p(): # Evaluamos el resultado de la ejecución, y devolvemos la respuesta: if result.returncode == 0: - journal.send("Script result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send("Script 'stopP2P.py' result OK (ReturnCode: 0)", PRIORITY=journal.LOG_INFO, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": True, "output": "P2P transmissions canceled successfully" }), 200 else: - journal.send(f"Script result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'stopP2P.py' result KO (Error: {result.stderr})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "error": result.stderr }), 500 except Exception as error_description: - journal.send(f"Script result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") + journal.send(f"Script 'stopP2P.py' result KO (Exception: {str(error_description)})", PRIORITY=journal.LOG_ERR, SYSLOG_IDENTIFIER="ogrepo-api") return jsonify({ "success": False, "exception": str(error_description)