From 00502d27d1868de529fa1fef2c700c1ce4ab628c Mon Sep 17 00:00:00 2001 From: ErnestaP Date: Thu, 22 Feb 2024 13:42:25 +0100 Subject: [PATCH] Added condition for importing records from legacy --- scoap3/tasks.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scoap3/tasks.py b/scoap3/tasks.py index a9e7bee9d..53785eb68 100644 --- a/scoap3/tasks.py +++ b/scoap3/tasks.py @@ -76,15 +76,20 @@ def _create_article(data, licenses): "subtitle": data["titles"][0].get("subtitle", ""), "abstract": data["abstracts"][0].get("value", ""), } - doi = data.get("dois")[0].get("value") if ( - doi + article_data.get("id") + and Article.objects.filter(pk=article_data["id"]).exists() + ): + article = Article.objects.get(pk=article_data["id"]) + article.__dict__.update(**article_data) + elif ( + data.get("dois")[0].get("value") and ArticleIdentifier.objects.filter( - identifier_type="DOI", identifier_value=doi + identifier_type="DOI", identifier_value=data.get("dois")[0].get("value") ).exists() ): article = ArticleIdentifier.objects.get( - identifier_type="DOI", identifier_value=doi + identifier_type="DOI", identifier_value=data.get("dois")[0].get("value") ).article_id article.__dict__.update(**article_data) else: