ProyectoPHP/config.py

77 lines
2.4 KiB
Python

# config.py
import os
import psutil
# --- Rutas y Archivos ---
SCRIPT_NAME = "backup_script.sh"
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
SCRIPT_PATH = os.path.join(BASE_DIR, SCRIPT_NAME)
archivo_registro_csv = os.path.join(BASE_DIR, "data", "registro_recursos.csv")
PROGRESS_FILE = 'progress.tmp'
ALARM_SAVE_FILE = os.path.join(BASE_DIR, "data", "alarmas.json")
ALARM_FOLDER = os.path.join(BASE_DIR, "data", "alarmas")
ALERTA_SOUND_FILE = None
SCRAPING_FOLDER = os.path.join(BASE_DIR, "data", "scraping")
SCRAPING_CONFIG_FOLDER = os.path.join(BASE_DIR, "data", "tipo_scraping")
NOTES_FOLDER = os.path.join(BASE_DIR, "data", "notas")
# --- Variables de Monitoreo ---
MAX_PUNTOS = 30
tiempos = list(range(-MAX_PUNTOS + 1, 1))
num_cores = psutil.cpu_count(logical=True)
datos_cores = [0] * num_cores
# --- Datos Dinámicos (Inicialización) ---
datos_cpu = [0] * MAX_PUNTOS
datos_mem = [0] * MAX_PUNTOS
datos_net_sent = [0] * MAX_PUNTOS
datos_net_recv = [0] * MAX_PUNTOS
datos_disk_read = [0] * MAX_PUNTOS
datos_disk_write = [0] * MAX_PUNTOS
# --- Variables de Estado y UI ---
monitor_running = True
registro_csv_activo = False
system_log = None
progress_bar = None
editor_texto = None
scraping_progress_bar = None # Barra de progreso de scraping
scraping_output_text = None # Área de texto de salida de scraping
scraping_url_input = None # Variable de control de la URL de scraping
scraping_selector_input = None # Entrada para el selector CSS
scraping_attr_input = None # Entrada para el atributo CSS
scraping_config_file_label = None # Label para mostrar el archivo de configuración cargado
scraping_config_data = {} # Diccionario para almacenar la configuración JSON de scraping
scraping_running = False # Bandera de estado de ejecución de scraping
# Variables de Alarma
alarmas_programadas = {}
alarma_counter = 0
# Control de Sonido
alarma_volumen = 0.5
alarma_sonando = False
# Control de Juegos (NUEVO)
juego_window = None # Referencia a la ventana Toplevel del juego
juego_running = False # Bandera de estado del juego
# Control de Música Adicional (NUEVO)
current_music_file = None
music_sonando = False
# Variables de UI
label_hostname = None
label_os_info = None
label_cpu_model = None
label_ram_total = None
label_disk_total = None
label_net_info = None
label_uptime = None
label_1 = None # Estado Backup
label_2 = None # Estado Registro CSV
label_fecha_hora = None