diff --git a/fiduswriter/citation_api_import/static/js/modules/citation_api_import/crossref.js b/fiduswriter/citation_api_import/static/js/modules/citation_api_import/crossref.js index a953618..da3e962 100644 --- a/fiduswriter/citation_api_import/static/js/modules/citation_api_import/crossref.js +++ b/fiduswriter/citation_api_import/static/js/modules/citation_api_import/crossref.js @@ -16,20 +16,20 @@ export class CrossrefSearcher { } lookup(searchTerm) { - return fetch(`https://search.crossref.org/dois?q=${encodeURIComponent(escape(searchTerm))}`, { + return fetch(`/api/citation_api_import/proxy/https://api.crossref.org/v1/works?query.bibliographic=${encodeURIComponent(escape(searchTerm))}&rows=5&select=DOI,ISBN,title,author,published,abstract`, { method: "GET", }).then( response => response.json() - ).then(items => { + ).then(json => { const searchEl = document.getElementById("bibimport-search-result-crossref") if (!searchEl) { // window was closed before result was ready. return } - if (items.length) { - searchEl.innerHTML = searchApiResultCrossrefTemplate({items}) - } else { + if (json.status !== "ok" || !json.message.items) { searchEl.innerHTML = "" + } else { + searchEl.innerHTML = searchApiResultCrossrefTemplate({items: json.message.items}) } this.bind() }) @@ -37,7 +37,7 @@ export class CrossrefSearcher { getBibtex(doi) { this.importer.dialog.close() - fetch(`https://api.crossref.org/v1/works/${doi}/transform`, { + fetch(`/api/citation_api_import/proxy/https://api.crossref.org/v1/works/${encodeURIComponent(doi)}/transform`, { method: "GET", headers: { "Accept": "application/x-bibtex" diff --git a/fiduswriter/citation_api_import/static/js/modules/citation_api_import/pubmed.js b/fiduswriter/citation_api_import/static/js/modules/citation_api_import/pubmed.js index a42f652..097c08d 100644 --- a/fiduswriter/citation_api_import/static/js/modules/citation_api_import/pubmed.js +++ b/fiduswriter/citation_api_import/static/js/modules/citation_api_import/pubmed.js @@ -18,8 +18,7 @@ export class PubmedSearcher { } lookup(searchTerm) { - - return get("/api/citation_api_import/https://www.bioinformatics.org/texmed/cgi-bin/query.cgi", {query: escape(searchTerm)}).then( + return get("/api/citation_api_import/proxy/https://www.bioinformatics.org/texmed/cgi-bin/query.cgi", {query: escape(searchTerm)}).then( response => response.text() ).then( html => { diff --git a/fiduswriter/citation_api_import/static/js/modules/citation_api_import/templates.js b/fiduswriter/citation_api_import/static/js/modules/citation_api_import/templates.js index 0ce54d8..c6b4d8e 100644 --- a/fiduswriter/citation_api_import/static/js/modules/citation_api_import/templates.js +++ b/fiduswriter/citation_api_import/static/js/modules/citation_api_import/templates.js @@ -176,43 +176,41 @@ export const searchApiResultCrossrefTemplate = ({items}) => { return "
- | ${gettext("Title/Year")} | +${gettext("Title/Published")} | ${gettext("DOI")} | -${gettext("Description")} | +${gettext("Abstract")} |
---|---|---|---|---|---|
- ${ - item.fullCitation ? - item.fullCitation : - `${item.title} ${item.year}` -} + ${item.title} ${publishedDate} |
${
- item.doi ?
- ` ${item.doi} ` : + item.DOI ? + `${item.DOI} ` : "" } |
${
- item.description ?
+ abstractWithoutHTML.length ?
` ${ - item.description.length < 200 ? - escapeText(item.description) : - escapeText(item.description.substring(0, 200)) + "..." + abstractWithoutHTML.length < 200 ? + escapeText(abstractWithoutHTML) : + escapeText(abstractWithoutHTML.substring(0, 200)) + "..." } ` : "" } |