arruma o processo de busca textual nos diarios

This commit is contained in:
root
2025-03-14 17:36:14 +01:00
parent 8d1f6feeaf
commit f2e5cd73b7
15 changed files with 650 additions and 645 deletions

View File

@ -1,17 +1,15 @@
from django.db.models.signals import post_save
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
import PyPDF2
from io import BytesIO
from .models import PDFDocument
@receiver(post_save, sender=PDFDocument)
def extract_text(sender, instance, created, **kwargs):
print("Signal disparado!") # Teste se o Signal está funcionando
if created and instance.file:
pdf = PyPDF2.PdfReader(instance.file)
text = []
for page in pdf.pages:
text.append(page.extract_text())
instance.content = "\n".join(text)
instance.save(update_fields=["content"])
@receiver(post_save, sender=DiarioOficial)
def update_document(sender, instance, **kwargs):
"""Atualizar documento no Elasticsearch quando o objeto for salvo"""
DiarioOficialDocument.update_document(instance)
@receiver(post_delete, sender=DiarioOficial)
def delete_document(sender, instance, **kwargs):
"""Deletar documento do Elasticsearch quando o objeto for deletado"""
document = DiarioOficialDocument.get(id=instance.id)
document.delete()