arruma o processo de busca textual nos diarios
This commit is contained in:
@ -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()
|
||||
|
||||
Reference in New Issue
Block a user