# -*- coding: utf-8 -*-
"""
Configuración central del actualizador de software libre.

Define rutas del repositorio y de la web, cabeceras HTTP por defecto,
y opciones de notificación por correo. El logging se configura aquí
y el encabezado de ejecución se escribe al arrancar main().
"""

import datetime
import logging
import os

# -----------------------------------------------------------------------------
# Rutas del sistema
# -----------------------------------------------------------------------------

# Archivo donde se registra la actividad del script
LOG_FILE = "/var/log/estandares.log"

# Directorio del repositorio de instaladores descargados
REPO_DIR = "/srv/repositorios/osluz/estandares/aplicacion/"

# Directorios del portal web (primer HTML por app vs. listados)
WEB_DIR_SINGLE = "/srv/repositorios/osluz/webnueva/aplicacion/"
WEB_DIR_MULTI = "/srv/repositorios/osluz/webnueva/aplicaciones/"

# -----------------------------------------------------------------------------
# Logging
# -----------------------------------------------------------------------------


def configurar_logging():
    """Configura el sistema de logging para escribir en LOG_FILE."""
    logging.basicConfig(
        filename=LOG_FILE,
        level=logging.INFO,
        format="%(asctime)s - %(levelname)s - %(message)s",
    )


def escribir_encabezado_ejecucion():
    """Escribe un encabezado en el log para separar ejecuciones."""
    current_date = datetime.datetime.now().strftime("%d-%m-%Y %H:%M")
    with open(LOG_FILE, "a") as f:
        f.write("\n")
        f.write("=" * 60 + "\n")
        f.write(f"  EJECUCION ACTUALIZADOR - {current_date}\n")
        f.write("=" * 60 + "\n")


# -----------------------------------------------------------------------------
# HTTP
# -----------------------------------------------------------------------------

# Cabeceras por defecto para simular un navegador y reducir bloqueos
DEFAULT_HEADERS = {
    "User-Agent": (
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
        "(KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
    ),
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "es-ES,es;q=0.9,en;q=0.8",
    "Accept-Encoding": "gzip, deflate",
    "Connection": "keep-alive",
}

# -----------------------------------------------------------------------------
# Notificaciones por correo
# -----------------------------------------------------------------------------

# Desactivar envío de correos poniendo False
ENVIAR_CORREO = True
EMAIL_TO = "871208@unizar.es"
EMAIL_FROM = "abailo2@unizar.es"
