Mobrovac has submitted this change and it was merged. Change subject: Convert all Zotero date fields to ISO ......................................................................
Convert all Zotero date fields to ISO Bug: T95016 Bug: T101878 Change-Id: I63a5d2a0e6c2f70bce59b1ca03702954b42cb340 --- M lib/Exporter.js M lib/Scraper.js M test/features/scraping/index.js 3 files changed, 30 insertions(+), 2 deletions(-) Approvals: Mobrovac: Checked; Looks good to me, approved diff --git a/lib/Exporter.js b/lib/Exporter.js index cc41f2b..845db53 100644 --- a/lib/Exporter.js +++ b/lib/Exporter.js @@ -351,8 +351,8 @@ fixURL(url, citation); fixAccessDate(citation); fixLang(citation); + fixDate(citation); - //TODO: Validate date field //TODO: Possibly validate ISSN & ISBN / throw out duplicates return addIDSToCitation(cr); @@ -408,6 +408,23 @@ return citation; } +/** + * If date cannot be converted to ISO, delete + * @param {Object} citation Zotero citation + * @return {Object} Zotero citation + */ +function fixDate(citation){ + if (citation.date){ + var d = new Date(citation.date + ' GMT+00'); // Explicitly set TZ to GMT for servers not running in GMT + if (isFinite(d)) { + citation.date = d.toISOString().split('T').shift(); + } else { + delete citation.date; + } + } + return citation; +} + /* Exports */ module.exports = Exporter; module.exports.validateZotero = validateZotero; diff --git a/lib/Scraper.js b/lib/Scraper.js index 5a0e1a8..403da95 100644 --- a/lib/Scraper.js +++ b/lib/Scraper.js @@ -324,7 +324,7 @@ } // Access date - universal - format YYYY-MM-DD - citation.accessDate = (new Date()).toISOString().substring(0, 10); + citation.accessDate = (new Date()).toISOString().split('T').shift(); // Fall back websiteTitle - webpage only if (citation.itemType === 'webpage' && !citation.websiteTitle){ diff --git a/test/features/scraping/index.js b/test/features/scraping/index.js index 1e7bc35..79a273e 100644 --- a/test/features/scraping/index.js +++ b/test/features/scraping/index.js @@ -142,6 +142,17 @@ }); }); + it('doi with US style date', function() { + return server.query('10.1542/peds.2007-2362').then(function(res) { + assert.status(res, 200); + assert.checkZotCitation(res, 'Management of Children With Autism Spectrum Disorders'); + assert.deepEqual(!!res.body[0].DOI, true, 'Missing DOI'); + assert.deepEqual(res.body[0].date, '2007-11-01', 'Incorrect date; expected 2007-11-01, got ' + res.body[0].date); + assert.deepEqual(res.body[0].itemType, 'journalArticle', 'Wrong itemType; expected journalArticle, got' + res.body[0].itemType); + + }); + }); + // The following tests require the WMF fork of the zotero translators, as found // here: https://gerrit.wikimedia.org/r/mediawiki/services/zotero/translators describe(' uses WMF translator fork', function() { -- To view, visit https://gerrit.wikimedia.org/r/221369 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I63a5d2a0e6c2f70bce59b1ca03702954b42cb340 Gerrit-PatchSet: 7 Gerrit-Project: mediawiki/services/citoid Gerrit-Branch: master Gerrit-Owner: Mvolz <mv...@wikimedia.org> Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org> Gerrit-Reviewer: Mobrovac <mobro...@wikimedia.org> Gerrit-Reviewer: Mvolz <mv...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits