From d8b2d24524c8b20fc125bcff42ad306f4c792a42 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 7 Sep 2018 01:21:58 -0400 Subject: [PATCH] Better fix for invalid file localUrl in Mendeley DB --- chrome/content/zotero/import/mendeley/mendeleyImport.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/import/mendeley/mendeleyImport.js b/chrome/content/zotero/import/mendeley/mendeleyImport.js index 0db93f8d00..4dbc1b2d7a 100644 --- a/chrome/content/zotero/import/mendeley/mendeleyImport.js +++ b/chrome/content/zotero/import/mendeley/mendeleyImport.js @@ -111,7 +111,7 @@ Zotero_Import_Mendeley.prototype.translate = async function (options) { // If there's a single PDF file and a single PDF URL and the file exists, make an // imported_url attachment instead of separate file and linked_url attachments if (docURLs && docFiles) { - let pdfFiles = docFiles.filter(x => x.fileURL && x.fileURL.endsWith('.pdf')); + let pdfFiles = docFiles.filter(x => x.fileURL.endsWith('.pdf')); let pdfURLs = docURLs.filter(x => x.includes('pdf')); if (pdfFiles.length == 1 && pdfURLs.length == 1 @@ -462,6 +462,10 @@ Zotero_Import_Mendeley.prototype._getDocumentFiles = async function (groupID) { for (let row of rows) { let docFiles = map.get(row.documentId); if (!docFiles) docFiles = []; + if (typeof row.localUrl != 'string') { + Zotero.debug(`Skipping invalid localUrl '${row.localUrl}' for document ${row.documentId}`); + continue; + } docFiles.push({ hash: row.hash, fileURL: row.localUrl