Skip to content

refactor(tjsp): decompõe parsers processuais HTML - #332

Draft
bdcdo wants to merge 3 commits into
mainfrom
refactor/tjsp-process-parsers
Draft

refactor(tjsp): decompõe parsers processuais HTML#332
bdcdo wants to merge 3 commits into
mainfrom
refactor/tjsp-process-parsers

Conversation

@bdcdo

@bdcdo bdcdo commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Resumo

  • Decompõe os parsers HTML do CPOPG e CPOSG em extração de cabeçalho, campos rotulados, movimentações, partes e tabelas específicas.
  • Corrige o DOM de partes do CPOSG: a parte principal e cada advogado/procurador deixam de ser concatenados ou invertidos e compartilham o mesmo id_parte.
  • Preserva o primeiro relator preenchido, mesmo quando a composição contém antes uma linha Relator vazia.
  • Garante schema estável para resultados vazios: 18 colunas no CPOSG e colunas canônicas nos frames auxiliares do CPOPG.

Simplificação e correções da revisão

  • cposg_parse passa a delegar ao manager único; três helpers de linha usados uma vez no CPOPG foram incorporados aos respectivos extratores.
  • Remove o fallback por regex sobre HTML bruto depois de os samples reais comprovarem a extração de classe e assunto pelo DOM canônico.
  • TJSPScraper.cpopg_parse(path) agora retorna os frames ao receber um arquivo explícito, preservando a propagação de erro para extensão inválida; antes esse caminho devolvia {}.
  • O caminho JSON continua fora do escopo.

Complexidade

  • Maior CCN tocado: 12; maior complexidade cognitiva tocada: 15.
  • Todos os métodos alterados permanecem dentro dos gates de Lizard e Complexipy.

Validação

  • Testes focados CPOPG/CPOSG: 21 testes passaram.
  • uv run pytest: 1.752 testes passaram, 32 foram ignorados e 220 ficaram desmarcados.
  • Pre-commit completo nos 6 arquivos alterados e git diff --check: passaram.

Closes #310
Closes #311
Refs #307

@bdcdo bdcdo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Revisão pré-merge concluída no commit 96dcf3d.

  • Corrigi partes/representantes e relator do CPOSG, além dos schemas vazios dos dois parsers.
  • Removi helpers de linha usados uma vez, o fallback regex duplicado e a implementação paralela de cposg_parse.
  • Corrigi também cpopg_parse com arquivo explícito, preservando erro de extensão inválida.
  • A suíte offline passou com 1.752 testes; complexidade máxima tocada 15 e pre-commit verde.

O GitHub não reporta checks para esta branch. Mantive o PR em draft e não fiz merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant