refs #521 - Modify sendFileUFTP.py

pull/1/head
Gerardo GIl Elizeire 2024-07-29 10:30:33 +02:00
parent 5c37a4600a
commit 98742f31a6
1 changed files with 25 additions and 17 deletions

View File

@ -63,6 +63,26 @@ def show_help():
print(help_text)
def check_params():
""" Comprueba que se haya enviado la cantidad correcta de parámetros, y en el formato correcto.
Si no es así, muestra un mensaje de error, y sale del script.
LLama a la función "show_help" cuando se ejecuta el script con el parámetro "help".
"""
# Si se ejecuta el script con el parámetro "help", se muestra la ayuda, y se sale del script:
if len(sys.argv) == 2 and sys.argv[1] == "help":
show_help()
sys.exit(0)
# Si se ejecuta la función con más o menos de 2 parámetros, se muestra un mensaje de error, y se sale del script:
if len(sys.argv) != 3:
print(f"{script_name} Error: Formato incorrecto: Se debe especificar 2 parámetros (image_name|/image_path/image_name port:ip:bitrate)")
sys.exit(1)
# Si en el segundo parámetro no hay 3 elementos (separados por ":"), devolvermos un error, y salimos del script:
param_list = sys.argv[2].split(':')
if len(param_list) != 3:
print(f"{script_name} Error: Datos Multicast incorrectos: \"{sys.argv[2]}\" (se debe especificar \"puerto:ip:bitrate\")")
sys.exit(3)
def build_file_path():
""" Construye la ruta completa al archivo a enviar
(agregando "/opt/opengnsys/images/" si no se ha especificado en el parámetro).
@ -98,16 +118,9 @@ def calculate_bitrate(bitrate):
def main():
"""
"""
# Si se ejecuta el script con el parámetro "help", se muestra la ayuda, y se sale del script:
if len(sys.argv) == 2 and sys.argv[1] == "help":
show_help()
sys.exit(0)
# Si se ejecuta la función con más o menos de 2 parámetros, se muestra un mensaje de error, y se sale del script:
if len(sys.argv) != 3:
print(f"{script_name} Error: Formato incorrecto: Se debe especificar 2 parámetros (image_name|/image_path/image_name port:ip:bitrate)")
sys.exit(1)
# Evaluamos si se ha enviado la cantidad correcta de parámetros, y en el formato correcto:
check_params()
# Obtenemos la ruta completa al archivo a enviar:
file_path = build_file_path()
@ -116,14 +129,9 @@ def main():
print(f"{script_name} Error: Fichero \"{file_path}\" no accesible")
sys.exit(2)
# Si en el segundo parámetro no hay 3 elementos (separados por ":"), devolvermos un error, y salimos del script:
params = sys.argv[2].split(':')
if len(params) != 3:
print(f"{script_name} Error: Datos Multicast incorrectos: \"{sys.argv[2]}\" (se debe especificar \"puerto:ip:bitrate\")")
sys.exit(3)
# Almacenamos los elementos del segundo parámetro en variables:
port, ip, bitrate = params
param_list = sys.argv[2].split(':')
port, ip, bitrate = param_list
# Calculamos el valor de la variable "bitrate", en base a la letra especificada (que luego eliminamos de la variable):
bitrate = calculate_bitrate(bitrate)