Este tutorial guiará você através do processo de automatizar a inserção de notas, utilizando as ferramentas gráficas e de linha de comando disponíveis neste projeto.
O objetivo é simplificar e automatizar a inserção de notas, permitindo que você prepare os dados a partir de um relatório consolidado e, em seguida, use um script para digitar essas notas automaticamente no sistema online.
- Python 3.x instalado no seu sistema.
- Conexão com a internet (para instalar bibliotecas).
- Arquivos de dados:
inputs/relatorio_consolidado.csv: Seu arquivo CSV com as notas consolidadas (Curso, Disciplina, Aluno, AV1, AV2, MediaFinal).inputs/turma_*_base.txt: Arquivos base com a lista de alunos e RAs para cada curso.inputs/map_disciplinas.json: Arquivo de configuração que mapeia cursos e disciplinas.
É altamente recomendável usar um ambiente virtual para isolar as dependências do projeto.
-
Abra seu terminal (Prompt de Comando no Windows, Terminal no macOS/Linux) no diretório
b:\Dev\Notas_pygui. -
Crie o ambiente virtual:
python -m venv .venv
-
Ative o ambiente virtual:
- Windows:
.\.venv\Scripts\activate
- macOS/Linux:
source ./.venv/bin/activate
Você verá
(.venv)no início da linha de comando, indicando que o ambiente está ativo. - Windows:
-
Atualize as ferramentas de empacotamento:
python -m pip install --upgrade pip setuptools wheel
-
Instale as bibliotecas do projeto:
pip install pandas pyautogui customtkinter
pandas: Para manipulação de dados do CSV.pyautogui: Para automação de teclado e mouse.customtkinter: Para as interfaces gráficas.
Para os cursos técnicos, o primeiro passo é usar mapear_notas.py para converter o relatorio_consolidado.csv em arquivos .txt individuais para cada disciplina.
-
Certifique-se de que os arquivos base (
turma_ds_base.txt,turma_pj_base.txt) e ooutput/relatorio_consolidado.csvestão no local correto. -
Execute o script
mapear_notas.py:python mapear_notas.py
-
Escolha o curso no menu que aparecerá no terminal.
-
Aguarde a geração dos arquivos: O script criará na pasta
outputum arquivo.txtpara cada disciplina do curso selecionado (ex:ds_Administracao_de_Banco_de_Dados.txt).
Para o Ensino Fundamental, as notas são inseridas ou editadas diretamente através de um formulário gráfico.
- Execute o script
form_notas_ef_gui.py:python form_notas_ef_gui.py
- Na janela que abrir, selecione a turma e o trimestre.
- Clique em "Carregar Dados".
- Edite as notas diretamente na tabela.
- Clique em "Salvar e Gerar Arquivo de Automação". Isso criará o arquivo
.txtcorrespondente na pastaoutput(ex:ef8a_t1_Computação.txt).
Agora que os arquivos .txt estão na pasta output, use a interface gráfica de automação.
-
Execute o script
automacao_notas_gui.py:python automacao_notas_gui.py
-
Selecione o Curso, a Disciplina e o Trimestre nos menus da aplicação. As disciplinas disponíveis são detectadas automaticamente.
-
Clique em "Iniciar Automação".
-
Prepare o navegador: A caixa de status na parte inferior da janela dará uma contagem regressiva de 10 segundos.
- No navegador: Vá para a página de inserção de notas e clique no campo da primeira nota (NM1) do primeiro aluno.
-
MUITO IMPORTANTE: Dê foco ao navegador! CLIQUE EM QUALQUER LUGAR NA JANELA DO SEU NAVEGADOR antes que a contagem regressiva termine para garantir que ele esteja ativo e receba as digitações.
-
A automação começará e o status será exibido na janela do programa.
Se preferir não usar as interfaces gráficas, você pode usar os scripts originais de linha de comando.
- Gere os arquivos de notas com
python mapear_notas.py(conforme Passo 2.1 acima). - Execute a automação com
python automacao_notas.py. - O script pedirá para você escolher a disciplina e o trimestre via menus no terminal.
- Siga as instruções no terminal para posicionar o cursor e dar foco ao navegador antes da contagem regressiva.
- Velocidade da Digitação: Se o script estiver muito rápido ou muito lento, você pode ajustar o
time.sleep()dentro doautomacao_notas_gui.pyouautomacao_notas.py. - Nomes não encontrados: Se o
mapear_notas.pyreportar alunos não encontrados, verifique a grafia e a acentuação nos seus arquivos_base.txte norelatorio_consolidado.csv. - Diagnóstico de Cursos: Se
mapear_notas.pynão encontrar seu curso, usepython diagnosticar_csv.pypara ver os nomes exatos dos cursos presentes no seu CSV.
Com este tutorial, você deve ser capaz de usar os scripts de forma eficiente para automatizar a inserção de notas!
O script começará a digitar as notas para cada aluno, usando a tecla Tab para navegar entre os campos.
- Conclusão ou Interrupção:
- Ao final, o script informará que a inserção do trimestre foi concluída e perguntará se você deseja preencher outro trimestre ou sair.
- Para interromper a automação a qualquer momento, pressione
Ctrl+Cno terminal.
- Velocidade da Digitação: Se o script estiver muito rápido ou muito lento, você pode ajustar o
time.sleep()dentro doautomacao_notas.py.time.sleep(0.2): Pausa entre as notas de um mesmo aluno.time.sleep(2.0): Pausa entre um aluno e outro.
- Nomes não encontrados: Se o
mapear_notas.pyainda reportar alunos não encontrados, verifique a grafia e a acentuação nos seus arquivos_base.txte norelatorio_consolidado.csv. O script tenta normalizar, mas diferenças muito grandes podem causar falha. - RAs: Lembre-se que os RAs nos arquivos
_base.txtsão cruciais. Certifique-se de que eles estão corretos nesses arquivos.
Com este tutorial, você deve ser capaz de usar os scripts de forma eficiente para automatizar a inserção de notas!