Skip to content

Melhora tratamento de erros para tipos de arquivo não suportados#109

Merged
diraol merged 2 commits into
mainfrom
dro/exception
Nov 28, 2025
Merged

Melhora tratamento de erros para tipos de arquivo não suportados#109
diraol merged 2 commits into
mainfrom
dro/exception

Conversation

@diraol
Copy link
Copy Markdown
Contributor

@diraol diraol commented Nov 28, 2025

🎯 Objetivo

Reduzir a verbosidade dos logs para arquivos com tipos não suportados (especialmente ZIP) e melhorar a eficiência evitando tentativas de processamento desnecessárias.

📋 Problema

Arquivos ZIP e outros tipos não suportados geravam logs extremamente verbosos:

  • WARNING com o caminho do arquivo
  • ERROR com a mensagem
  • Stack trace completo com ~15 linhas

Exemplo:

WARNING:root:Could not process gazette: 5107602/2009-02-27/e9642a24f98c20f0ce2ef5637d65c6abb0bdf854.zip. Cause: Unsupported file type: application/zip
ERROR:root:Unsupported file type: application/zip
Traceback (most recent call last):
  [Stack trace completo]

✅ Solução Implementada

1. Nova Exceção Customizada

  • UnsupportedFileTypeError criada em data_extraction/text_extraction.py
  • Exportada no módulo para uso consistente no projeto
  • Permite tratamento específico de erros de tipos não suportados

2. Detecção Antecipada de ZIP

  • Novo método is_zip() na classe ApacheTikaTextExtractor
  • Verifica tipo de arquivo ANTES de tentar processar
  • Log específico: "Skipping unsupported ZIP file: {file_path}"
  • Evita processamento desnecessário

3. Tratamento de Erros Simplificado

  • UnsupportedFileTypeError capturado separadamente
  • Apenas WARNING logado (sem stack trace)
  • Outros erros mantêm log completo para debugging

📊 Resultado

Antes:

WARNING:root:Could not process gazette: [...].zip. Cause: Unsupported file type: application/zip
ERROR:root:Unsupported file type: application/zip
Traceback (most recent call last):
  [~15 linhas de stack trace]

Depois:

WARNING:root:Skipping unsupported ZIP file: [...].zip
WARNING:root:Could not process gazette: [...].zip. Cause: Unsupported file type: application/zip

📝 Arquivos Modificados

  • data_extraction/text_extraction.py - Nova exceção e método is_zip()
  • data_extraction/__init__.py - Export da exceção
  • tasks/gazette_text_extraction.py - Detecção antecipada e tratamento de erros

🧪 Testes

  • Sintaxe Python validada com py_compile
  • Imports verificados
  • Lógica de fluxo mantida inalterada

- Cria exceção customizada UnsupportedFileTypeError para tipos não suportados
- Adiciona detecção antecipada de arquivos ZIP (não suportados)
- Reduz verbosidade de logs para tipos não suportados (sem stack trace)
- Mantém logs completos apenas para erros inesperados
- Melhora eficiência evitando processamento de arquivos ZIP

Resolve problema de logs verbosos com arquivos ZIP e outros tipos não suportados.
@diraol diraol merged commit c39f6bf into main Nov 28, 2025
1 of 3 checks passed
@diraol diraol deleted the dro/exception branch November 28, 2025 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant