From d56fd17239cca425a72c4882fb0db01c23fd1eff Mon Sep 17 00:00:00 2001
From: Ivan Pavlovich <ivan.pavlovic@hes-so.ch>
Date: Wed, 12 Mar 2025 18:34:13 +0100
Subject: [PATCH] Modification of article store script

---
 .gitignore                                |  1 +
 dataSources/PubMed/data/save_3_years.json |  1 -
 dataSources/PubMed/pubmedApi.py           | 14 ++++++++++----
 3 files changed, 11 insertions(+), 5 deletions(-)
 delete mode 100644 dataSources/PubMed/data/save_3_years.json

diff --git a/.gitignore b/.gitignore
index f13d16f8b..575b7a337 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 dataSources/PubMed/tmp/*
+dataSources/PubMed/data/*
 .venv
\ No newline at end of file
diff --git a/dataSources/PubMed/data/save_3_years.json b/dataSources/PubMed/data/save_3_years.json
deleted file mode 100644
index 0637a088a..000000000
--- a/dataSources/PubMed/data/save_3_years.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/dataSources/PubMed/pubmedApi.py b/dataSources/PubMed/pubmedApi.py
index 8523c34c8..df29e7449 100644
--- a/dataSources/PubMed/pubmedApi.py
+++ b/dataSources/PubMed/pubmedApi.py
@@ -85,16 +85,20 @@ def getPubmedData(term, date_min, date_max, nb_items = -1, debug = False, store
                             for part in entrie["MedlineCitation"]["Article"]["Journal"]["Title"]:
                                 if "#text" in part:
                                     data["Title"] += part["#text"]
-                            else:
-                                data["Title"] = entrie["MedlineCitation"]["Article"]["Journal"]["Title"]
+                        elif isinstance(entrie["MedlineCitation"]["Article"]["Journal"]["Title"], object):
+                            data["Title"] = entrie["MedlineCitation"]["Article"]["Journal"]["Title"]["#text"]
+                        else:
+                            data["Title"] = entrie["MedlineCitation"]["Article"]["Journal"]["Title"]
                         
                         data["ArticleTitle"] = ""
                         if isinstance(entrie["MedlineCitation"]["Article"]["ArticleTitle"], list):
                             for part in entrie["MedlineCitation"]["Article"]["ArticleTitle"]:
                                 if "#text" in part:
                                     data["ArticleTitle"] += part["#text"]
-                            else:
-                                data["ArticleTitle"] = entrie["MedlineCitation"]["Article"]["ArticleTitle"]
+                        elif isinstance(entrie["MedlineCitation"]["Article"]["ArticleTitle"], object):
+                            data["ArticleTitle"] = entrie["MedlineCitation"]["Article"]["ArticleTitle"]["#text"]
+                        else:
+                            data["ArticleTitle"] = entrie["MedlineCitation"]["Article"]["ArticleTitle"]
                         
                         data["Abstract"] = ""
                         if "Abstract" in entrie["MedlineCitation"]["Article"] :
@@ -102,6 +106,8 @@ def getPubmedData(term, date_min, date_max, nb_items = -1, debug = False, store
                                 for part in entrie["MedlineCitation"]["Article"]["Abstract"]["AbstractText"]:
                                     if "#text" in part:
                                         data["Abstract"] += part["#text"]
+                            elif isinstance(entrie["MedlineCitation"]["Article"]["Abstract"]["AbstractText"], object):
+                                data["Abstract"] = entrie["MedlineCitation"]["Article"]["Abstract"]["AbstractText"]["#text"]
                             else:
                                 data["Abstract"] = entrie["MedlineCitation"]["Article"]["Abstract"]["AbstractText"]
                         
-- 
GitLab