Sobre el proyecto
WATcalendars es un proyecto que visita diariamente los sitios web de ocho facultades de la Universidad Militar de Tecnología, analiza los horarios de clases publicados y los guarda en formato iCalendar (.ics). Esto permite a los estudiantes suscribirse al horario en Apple Calendar, Google, Outlook o Thunderbird y tenerlo siempre actualizado.
Para estudiantes: simplemente visite watcalendars.byst.re, ingrese el código del grupo y haga clic en "Agregar al calendario". El sitio también ofrece navegación de grupos por facultad.
Para desarrolladores: el proyecto está escrito en Python (requiere 3.9+). Instalación mediante pip y Playwright (Firefox/Chromium) para facultades detrás de un firewall. El comando `watcal` admite listado, ejecución para facultades seleccionadas, detección de grupos, generación de calendarios, lista de empleados y reconstrucción de índices. Hay opciones de depuración, forzado de semestre y registro en archivos disponibles.
La arquitectura se basa en un pipeline común (obtener, analizar, guardar) con módulos por facultad. Agregar una nueva facultad solo requiere un archivo de especificación y registro. Los datos se obtienen de varias fuentes: HTTP para WCY y WIM, navegador para el resto (Plansoft detrás de Imperva), y WIG usa archivos .docx. El proyecto usa la API pública de USOS, pero los horarios están vacíos allí, por lo que es necesario el scraping.
El sitio se sirve desde GitHub Pages, y los archivos .ics están disponibles en la misma dirección. Automatización mediante GitHub Actions diariamente a medianoche UTC. Las pruebas (79) cubren la corrección de especificaciones. Licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.