Sobre o projeto
WATcalendars é um projeto que visita diariamente os sites de oito faculdades da Universidade Militar de Tecnologia, analisa os horários de aulas publicados e os salva no formato iCalendar (.ics). Isso permite que os alunos assinem o cronograma no Apple Calendar, Google, Outlook ou Thunderbird e o mantenham sempre atualizado.
Para alunos: basta visitar watcalendars.byst.re, inserir o código do grupo e clicar em "Adicionar ao calendário". O site também oferece navegação por grupos por faculdade.
Para desenvolvedores: o projeto é escrito em Python (requer 3.9+). Instalação via pip e Playwright (Firefox/Chromium) para faculdades atrás de firewall. O comando `watcal` suporta listagem, execução para faculdades selecionadas, detecção de grupos, geração de calendários, lista de funcionários e reconstrução de índice. Opções de depuração, forçamento de semestre e registro em arquivo estão disponíveis.
A arquitetura é baseada em um pipeline comum (buscar, analisar, salvar) com módulos por faculdade. Adicionar uma nova faculdade requer apenas um arquivo de especificação e registro. Os dados são obtidos de várias fontes: HTTP para WCY e WIM, navegador para o restante (Plansoft atrás da Imperva), e WIG usa arquivos .docx. O projeto usa a API pública USOS, mas os horários estão vazios lá, então é necessário fazer scraping.
O site é servido a partir do GitHub Pages, e os arquivos .ics estão disponíveis no mesmo endereço. Automação via GitHub Actions diariamente à meia-noite UTC. Testes (79) cobrem a correção das especificações. Licença MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.