import sys
import os
import SystemLib

#!/usr/bin/env python3
"""
restoreImageCustom
@brief   Plantilla para script de restauración personalizada de imagen.
@param   $1 nº de disco 
@param   $2 nº de partición 
@param   $3 Repositorio: CACHE, REPO o dirección IP
@param   $4 Nombre canónico de la imagen sin extensión
@warning Renombrar este fichero como "restoreImageCustom" para sustituir al script estándar "restoreImage".
"""

# Control de parámetros.
if not (4 <= len(sys.argv) <= 6):
    SystemLib.ogRaiseError(os.getenv('OG_ERR_FORMAT'), "restoreImageCustom str_repo str_imagen int_ndisco int_npart [ str_proto [\"str_opciones\"] ]")

# Toma de parámetros.
REPO = sys.argv[1].upper()  # Repositorio (en mayúsculas).
IMGNAME = sys.argv[2]       # Nombre canónico de imagen (sin extensión).
DISK = sys.argv[3]          # Nº de disco.
PART = sys.argv[4]          # Nº de partición.
PROTO = sys.argv[5].upper() if len(sys.argv) > 5 else "UNICAST"  # Protocolo de comunicaciones (por defecto, UNICAST).
PROTOOPT = sys.argv[6] if len(sys.argv) > 6 else ""  # Opciones del protocolo separadas por ":" (opcional).

# Paso 0: Añadir código para realizar control de errores de los parámetros de entrada (recomendado).

# Paso 1: Añadir aquí el código para el proceso previo antes de la restauración de la imagen en los equipos (opcional).

# Paso 2: Sustituir, si se desea, la llamada al proceso estándar de restauración de imagen por código personalizado.
restoreImage(*sys.argv[1:])

# Aviso: editar la plantilla "configureOsCustom" para añadir el código personalizado para el proceso de postconfiguración de los clientes (no incluir aquí dicho código).
