Skip to content

Commit f218c87

Browse files
committed
Corrige 'data_utils'
1 parent acb914a commit f218c87

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

reference/data_utils.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from celery import shared_task
12
from config import celery_app
23
from reference.marker import mark_references
34
from reference.models import Reference, ElementCitation, ReferenceStatus
@@ -22,7 +23,13 @@ def get_number_of_month(texto):
2223
return None # Si no encuentra un mes
2324

2425
def get_xml(json_reference):
25-
json_reference = json.loads(json_reference)
26+
try:
27+
json_reference = json.loads(json_reference)
28+
except json.JSONDecodeError as e:
29+
print(f"JSON malformado da IA: {e}")
30+
print(f"JSON recebido: {json_reference[:500]}...")
31+
# Retornar estrutura básica
32+
return etree.Element("error")
2633
root = etree.Element('element-citation',
2734
attrib = {
2835
'publication-type': json_reference['reftype'],
@@ -105,16 +112,17 @@ def get_xml(json_reference):
105112
return root
106113

107114

108-
#@celery_app.task()
115+
@shared_task
109116
def get_reference(obj_id):
110117
obj_reference = Reference.objects.get(id=obj_id)
111-
marked = mark_references(obj_reference.mixed_citation)
118+
marked = list(mark_references(obj_reference.mixed_citation))
119+
112120
for item in marked:
113121
for i in item['choices']:
114122
ElementCitation.objects.create(
115123
reference=obj_reference,
116124
marked=i,
117125
marked_xml=etree.tostring(get_xml(i), pretty_print=True, encoding='unicode')
118126
)
119-
obj_reference.estatus = ReferenceStatus.READY
127+
obj_reference.status = ReferenceStatus.READY
120128
obj_reference.save()

0 commit comments

Comments
 (0)