A ideia surgiu de uma necessidade real: tornar o processo de organização dos horários de cada matéria o mais simples e rápido possível.
Uma aplicação bastante utilizada com esse intuito é o Google Calendar (ou Google Agenda). No entanto, criar eventos manualmente e configura-los para atender cada uma das matérias pode se tornar uma tarefa repetitiva e um desperdício de tempo.
Com isso em mente, Sigaa to Calendar visa facilitar o processo de criação de eventos para todas as suas matérias de maneira completamente automática.
A versão disponibilizada nesse repositório é um script em Python escrito de maneira didática de forma que seja fácil e transparente entender o que o programa faz a cada passo. Como não há uma API oficial que permita troca de informações com o SIGAA, o projeto implementa um web scraper que realiza o login e coleta da página principal somente as informações relevantes para a criação dos eventos (e nada mais). Em seguida, os eventos são formatados e passados para a API do Google Calendar para que sejam criados automaticamente em sua agenda.
Requisitos
- Python 3.3 ou superior
Clone esse repositório utilizando o comando:
git clone https://github.com/melloirl/SigaaToCalendar
Ou faça o download do repositório em .zip clicando no botão "Code" acima.
Em seguida, acesse o diretório do projeto e execute o seguinte comando para instalar as bibliotecas necessárias:
pip install -r requirements.txt
Ambiente Virtual
As bibliotecas necessárias podem ser instaladas globalmente, mas uma ideia interessante é utilizar um ambiente virtual. Essa abordagem pode evitar possíveis conflitos de versão com instalações prévias de pacotes.Para criar um ambiente virtual, basta executar o comando:
python -m venv .venv
E em seguida ativa-lo:
- Windows
.venv\Scripts\activate.bat
- Linux
$ source .venv/bin/activate
Para o funcionamento correto do programa é necessário criar um projeto no Google Cloud e habilitar a API do Google Calendar, gerando um token de credenciais. O processo de obtenção do token é explicado mais detalhadamente aqui.
Ao finalizar a instalação será necessário preencher o arquivo .env com as creendeciais de acesso do Sigaa.
O arquivo .env está localizado na pasta principal, mas também pode ser criado seguindo a estrutura acima.Finalmente, para adicionar seus cursos ao Google Calendar automaticamente basta executar o comando:
python app.py
O andamento do script será mostrado no terminal juntamente de um link para visualizar os eventos criados.
Como mencionado acima, não há meio de comunicação oficial com a plataforma SIGAA até o presente momento. Por essa razão, para que os dados do aluno sejam obtidos é necessário que o usuário preencha as próprias informações através de um arquivo .env. Em momento algum esses dados são armazenados ou transmitidos a terceiros durante a execução do script. O código é aberto e exposto para que possam se verificar essas informações.