diff --git a/agent/component/pubmed.py b/agent/component/pubmed.py
index b586d67e7..19cbdecc0 100644
--- a/agent/component/pubmed.py
+++ b/agent/component/pubmed.py
@@ -49,11 +49,19 @@ class PubMed(ComponentBase, ABC):
pubmedids = Entrez.read(Entrez.esearch(db='pubmed', retmax=self._param.top_n, term=ans))['IdList']
pubmedcnt = ET.fromstring(
Entrez.efetch(db='pubmed', id=",".join(pubmedids), retmode="xml").read().decode("utf-8"))
- pubmed_res = [{"content": 'Title:' + child.find("MedlineCitation").find("Article").find(
- "ArticleTitle").text + '\nUrl:' + '\n' + 'Abstract:' + child.find(
- "MedlineCitation").find("Article").find("Abstract").find("AbstractText").text} for child in
- pubmedcnt.findall("PubmedArticle")]
+ pubmed_res = []
+ for child in pubmedcnt.findall("PubmedArticle"):
+ if child.find("MedlineCitation").find("Article").find("ArticleTitle").text:
+ title_tmp = 'Title:' + child.find("MedlineCitation").find("Article").find("ArticleTitle").text
+ else:
+ title_tmp = 'Title:' + "".join(
+ [childtitle.text for childtitle in
+ child.find("MedlineCitation").find("Article").find("ArticleTitle")])
+ url_tmp = '\nUrl:' + ''
+ abstract_tmp = '\nAbstract:' + child.find("MedlineCitation").find("Article").find("Abstract").find(
+ "AbstractText").text
+ pubmed_res.append({"content": title_tmp + url_tmp + abstract_tmp})
except Exception as e:
return PubMed.be_output("**ERROR**: " + str(e))