Skip to content

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.

Notifications You must be signed in to change notification settings

melloirl/SigaaToCalendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.


About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published