89 lines
2.7 KiB
Python
Executable File
89 lines
2.7 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Script de inicialización de configuración para Wallabicher.
|
|
|
|
Este script copia los archivos de configuración de muestra (.sample)
|
|
a sus ubicaciones finales si estos no existen.
|
|
|
|
Uso:
|
|
python setup_config.py
|
|
"""
|
|
|
|
import os
|
|
import shutil
|
|
import sys
|
|
|
|
def setup_configuration():
|
|
"""
|
|
Inicializa los archivos de configuración necesarios.
|
|
"""
|
|
base_dir = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
config_files = [
|
|
{
|
|
'name': 'config.yaml',
|
|
'sample': 'config.sample.yaml',
|
|
'description': 'Configuración de Telegram (token y canal)'
|
|
},
|
|
{
|
|
'name': 'workers.json',
|
|
'sample': 'workers.sample.json',
|
|
'description': 'Configuración de búsquedas y monitores'
|
|
}
|
|
]
|
|
|
|
print("="*60)
|
|
print(" Wallabicher - Configuración Inicial")
|
|
print("="*60)
|
|
print()
|
|
|
|
files_created = False
|
|
files_exist = []
|
|
|
|
for config in config_files:
|
|
config_path = os.path.join(base_dir, config['name'])
|
|
sample_path = os.path.join(base_dir, config['sample'])
|
|
|
|
if os.path.exists(config_path):
|
|
files_exist.append(config['name'])
|
|
print(f"✓ '{config['name']}' ya existe (no se sobrescribirá)")
|
|
elif os.path.exists(sample_path):
|
|
try:
|
|
shutil.copy2(sample_path, config_path)
|
|
files_created = True
|
|
print(f"✓ '{config['name']}' creado desde '{config['sample']}'")
|
|
print(f" → {config['description']}")
|
|
except Exception as e:
|
|
print(f"✗ Error al crear '{config['name']}': {e}")
|
|
return False
|
|
else:
|
|
print(f"✗ ERROR: No se encontró el archivo de muestra '{config['sample']}'")
|
|
return False
|
|
|
|
print()
|
|
print("="*60)
|
|
|
|
if files_created:
|
|
print("\n⚠️ IMPORTANTE: Edita los archivos de configuración antes de ejecutar:")
|
|
print()
|
|
print(" 1. config.yaml:")
|
|
print(" - Añade tu token de Telegram Bot")
|
|
print(" - Configura el canal/grupo de destino")
|
|
print()
|
|
print(" 2. workers.json:")
|
|
print(" - Ajusta las búsquedas según tus necesidades")
|
|
print(" - Configura los thread_id para tus hilos de Telegram")
|
|
print()
|
|
print(" Luego ejecuta: python wallabicher.py")
|
|
elif files_exist:
|
|
print("\n✓ Todos los archivos de configuración ya existen.")
|
|
print(" El sistema está listo para usar.")
|
|
|
|
print("\n" + "="*60)
|
|
return True
|
|
|
|
if __name__ == "__main__":
|
|
success = setup_configuration()
|
|
sys.exit(0 if success else 1)
|
|
|