From 7bb8cb2a93c0f68ec0419b28f08723e6bfe4db19 Mon Sep 17 00:00:00 2001 From: Roberta Takenaka Date: Thu, 26 Mar 2026 15:45:40 -0300 Subject: [PATCH] =?UTF-8?q?Refatora=C3=A7=C3=A3o=20das=20tarefas=20de=20ex?= =?UTF-8?q?porta=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Adiciona filtros de validade e status público na busca do artigo. - Adiciona tratamento para erro DoesNotExist. - Insere log de aviso e cancela o pipeline caso o artigo não cumpra os requisitos. --- article/tasks.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/article/tasks.py b/article/tasks.py index d6aac89e..4905ca04 100644 --- a/article/tasks.py +++ b/article/tasks.py @@ -488,7 +488,11 @@ def task_export_article_to_articlemeta( if not pid_v3: raise ValueError("task_export_article_to_articlemeta requires pid_v3") - article = Article.objects.get(pid_v3=pid_v3) + article = Article.objects.get( + pid_v3=pid_v3, + valid=True, + is_classic_public=True, + ) user = _get_user(self.request, username=username, user_id=user_id) @@ -498,7 +502,8 @@ def task_export_article_to_articlemeta( collection_acron_list=collection_acron_list, force_update=force_update, ) - + except Article.DoesNotExist as exception: + return False except Exception as exception: exc_type, exc_value, exc_traceback = sys.exc_info() UnexpectedEvent.create( @@ -964,6 +969,9 @@ def task_process_article_pipeline( article.check_availability(user, force_update=export_to_articlemeta or force_update) if export_to_articlemeta: + if not article.is_classic_public or not article.valid: + logging.warning(f"Article {article.pid_v3} is not valid or not public. Skipping export to ArticleMeta.") + return task_export_article_to_articlemeta.delay( pid_v3=article.pid_v3, collection_acron_list=collection_acron_list,