Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: código base para Pandas e fix do bug CLI #4

Merged
merged 16 commits into from
Jan 19, 2023
Merged

Conversation

matos1396
Copy link
Contributor

@matos1396 matos1396 commented Jan 16, 2023

Descrição

Conforme definido no SPRINT 2:
1. Identificado e solucionado a razão do erro do módulo cli
2. Realizado um refactor utilizando a lib pandas

1. Módulo cli

A razão pelo erro relacionado ao módulo cli se dava pelo fato da lib utilizada anteriormente PyInquirer estar desatualizada e não possuir suporte para a versão 3.10 do Python.

O erro era devido a uma linha de código da lib que fazia o import do Mapping de uma forma que não é mais suportada na versão 3.10 do Python:

Anteriormente a 3.10
from collections import Mapping

Após 3.10:
from collections.abc import Mapping

Foi removida a lib PyInquirer das dependências e substituída pela lib InquirerPy que conforme a descrição do github da lib:

"This project is a re-implementation of the PyInquirer project, with bug fixes of known issues, new prompts, backward compatible APIs as well as more customisation options."

Ref:
https://github.com/CITGuru/PyInquirer
https://github.com/kazhala/InquirerPy
CITGuru/PyInquirer#181

2. Refactor

Conforme os critérios de aceitação definidos no JIRA, a PR contempla os seguintes itens:

  • O algoritmo deve ser capaz de receber uma e somente uma planilha em XLSX ou CSV de gabaritos.
  • O algoritmo deve ser capaz de receber uma e somente uma planilha em XLSX ou CSV de dados dos inscritos.
  • O algoritmo deve ser capaz de receber uma ou mais planilha em XLSX ou CSV das respostas dos inscritos.
  • Ao final da execução do algoritmo deve ser gerado uma arquivo data.json seguindo o padrão pre-estipulado para um Simulado Enem

O item relacionado a verificação dos dados de entrada e incorporação de mensagens de erros caso os inputs não estejam coerentes com o esperado não foi implementada ainda.

O Refactor do código realizou mudanças com enfoque na correção do simulado tipo ENEM. entretanto como a leitura dos inputs dos CSV, além de grande parte das estruturas do código, foi alterada para utilizar-se da lib Pandas, A implementação antiga da correção simulado tipo UFSC não funcionará.

Em praticamente todas as partes da estrutura do código foi realizado alterações visando a implementação de funções e métodos que possam torná-lo mais robusto e de fácil manutenção para eventuais adições/modificações.

Foram definidas novas variáveis no arquivo variaveis.py de forma a padronizar e facilitar a implementação do código:

image

As três primeiras representam os nomes das colunas dos arquivos de input, e a última representa um dicionário de auxílio para implementar a correção do simulado tipo ENEM, e com a possibilidade de expansão posteriormente para os demais tipos de simulados.

As funções alteradas/criadas na correção tipo ENEM e as relacionadas a geração da estrutura dos arquivos JSON posteriormente podem serem adaptadas e incorporadas para os demais tipos de simulado, diminuindo dessa forma a necessidade de implementação de diversas funções semelhantes para cada tipo de correção.

@vianaz vianaz self-requested a review January 16, 2023 20:35
@matos1396 matos1396 marked this pull request as ready for review January 16, 2023 21:33
src/__init__.py Outdated Show resolved Hide resolved
src/auxilio/variaveis.py Outdated Show resolved Hide resolved
src/corrigir.py Outdated Show resolved Hide resolved
Copy link
Contributor

@vianaz vianaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alterar as coisas solicitadas, por favor

Copy link
Contributor

@maecco maecco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ficou muito bom!! :)))

@matos1396 matos1396 requested a review from vianaz January 18, 2023 22:22
@vianaz vianaz changed the title Refactor geral do código base e fix do bug CLI refactor: código base para Pandas e fix do bug CLI Jan 19, 2023
@vianaz vianaz merged commit 9504269 into main Jan 19, 2023
vianaz added a commit that referenced this pull request Jan 19, 2023
@vianaz vianaz deleted the arrumar-cli branch January 19, 2023 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants