H
commited on
Commit
·
b4db54e
1
Parent(s):
dc34855
Fix component PubMed (#2192)
Browse files### What problem does this PR solve?
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- agent/component/pubmed.py +13 -5
agent/component/pubmed.py
CHANGED
|
@@ -49,11 +49,19 @@ class PubMed(ComponentBase, ABC):
|
|
| 49 |
pubmedids = Entrez.read(Entrez.esearch(db='pubmed', retmax=self._param.top_n, term=ans))['IdList']
|
| 50 |
pubmedcnt = ET.fromstring(
|
| 51 |
Entrez.efetch(db='pubmed', id=",".join(pubmedids), retmode="xml").read().decode("utf-8"))
|
| 52 |
-
pubmed_res = [
|
| 53 |
-
|
| 54 |
-
"MedlineCitation").find("
|
| 55 |
-
|
| 56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
except Exception as e:
|
| 58 |
return PubMed.be_output("**ERROR**: " + str(e))
|
| 59 |
|
|
|
|
| 49 |
pubmedids = Entrez.read(Entrez.esearch(db='pubmed', retmax=self._param.top_n, term=ans))['IdList']
|
| 50 |
pubmedcnt = ET.fromstring(
|
| 51 |
Entrez.efetch(db='pubmed', id=",".join(pubmedids), retmode="xml").read().decode("utf-8"))
|
| 52 |
+
pubmed_res = []
|
| 53 |
+
for child in pubmedcnt.findall("PubmedArticle"):
|
| 54 |
+
if child.find("MedlineCitation").find("Article").find("ArticleTitle").text:
|
| 55 |
+
title_tmp = 'Title:' + child.find("MedlineCitation").find("Article").find("ArticleTitle").text
|
| 56 |
+
else:
|
| 57 |
+
title_tmp = 'Title:' + "".join(
|
| 58 |
+
[childtitle.text for childtitle in
|
| 59 |
+
child.find("MedlineCitation").find("Article").find("ArticleTitle")])
|
| 60 |
+
url_tmp = '\nUrl:<a href=" https://pubmed.ncbi.nlm.nih.gov/' + child.find("MedlineCitation").find(
|
| 61 |
+
"PMID").text + '">' + '</a>'
|
| 62 |
+
abstract_tmp = '\nAbstract:' + child.find("MedlineCitation").find("Article").find("Abstract").find(
|
| 63 |
+
"AbstractText").text
|
| 64 |
+
pubmed_res.append({"content": title_tmp + url_tmp + abstract_tmp})
|
| 65 |
except Exception as e:
|
| 66 |
return PubMed.be_output("**ERROR**: " + str(e))
|
| 67 |
|