Refatoracao de qualidade de codigo

- Mover logica de routes.py para RankingMapper na camada de aplicacao
- Consolidar funcoes mesclar_periodos e anos_completos_periodos em periodo.py
- Extrair RankingCache para modulo separado em infrastructure/cache
- Substituir todos os print() por logging adequado
- Corrigir exception handlers genericos para tipos especificos
- Remover classe Atuacao e atributo atuacoes_raw nao utilizados
- Documentar status dos scripts utilitarios
This commit is contained in:
Frederico Castro
2025-12-14 21:47:00 -03:00
parent 4a98e8b38c
commit f91651056a
15 changed files with 284 additions and 218 deletions

View File

@@ -0,0 +1,46 @@
# Status dos Scripts - Backend
## Resumo
Scripts utilitários para operações manuais e debug do sistema de ranking.
## Scripts e Status
### auditar_ranking.py
**Status:** PARCIALMENTE INCOMPATIVEL
**Problema:** Usa propriedades antigas (`componente_a`, `componente_b`, `componente_c`, `componente_d`) que agora são `bloco_a`, `bloco_c`, `bloco_d`.
**Acao:** Atualizar referencias de propriedades.
### popular_componente_b.py
**Status:** OK
**Descricao:** Script standalone para popular COMPONENTE_B manualmente. Duplica logica do `PopularComponenteBJob` mas e util para execucao independente.
**Nota:** Usa variaveis de ambiente do `.env`.
### top10_ranking.py
**Status:** INCOMPATIVEL
**Problemas:**
- Credenciais hardcoded
- Usa estrutura antiga de `Consultoria` (total_eventos, eventos_recentes, primeiro_evento, ultimo_evento)
- Usa estrutura antiga de `Premiacao` (campo pontos)
- `CoordenacaoCapes` sem campo `codigo`
- Referencias a `componente_a/b/c/d` em vez de `bloco_a/c/d`
- Referencias a `coordenacoes_programas` que nao existe mais
**Acao:** Reescrever usando `ConsultorRepositoryImpl` do sistema.
### buscar_consultores_especificos.py
**Status:** INCOMPATIVEL
**Problemas:** Mesmos problemas do top10_ranking.py.
**Acao:** Reescrever usando infraestrutura do sistema.
### analise_detalhada.py
**Status:** FUNCIONAL COM RESSALVAS
**Descricao:** Script de analise que apenas le dados brutos do Elasticsearch.
**Problema:** Credenciais hardcoded.
**Acao:** Mover credenciais para .env.
## Recomendacoes
1. Scripts que precisam usar entidades do sistema devem usar os repositorios existentes em vez de reimplementar extracoes
2. Credenciais devem sempre vir de variaveis de ambiente
3. Considerar consolidar scripts repetitivos em comandos CLI do sistema