/SigaaToCalendar

Um projeto Python que visa automatizar o processo de criação de eventos para cada uma das disciplinas cursadas em um semestre listadas no SIGAA da UnB.

Primary LanguagePython

Sigaa to Calendar

Organize seus horários do semestre rapidamente!

O que é o Sigaa to Calendar?

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.

Como funciona o Sigaa to Calendar?

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.

Instalação

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.

Utilização

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.

Transparência

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.