Mvolz has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/347352 )

Change subject: Remove deprecated endpoint and format
......................................................................

Remove deprecated endpoint and format

Remove url endpoint which pre-dates tests and we
do not test it. It has been deprecated
for ~3 years. Restbase also does not
support this endpoint.

Remove mwDeprecated format which is of
similar age, and fix tests to now interpret
the format as invalid.

Bug: T93514
Change-Id: Idd3ca4f03480ca8bf3ffbdb92d9459be5b2977ac
---
M lib/Exporter.js
M package.json
M routes/citoid.js
M test/features/scraping/export.js
4 files changed, 7 insertions(+), 119 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/citoid 
refs/changes/52/347352/1

diff --git a/lib/Exporter.js b/lib/Exporter.js
index 895cddb..95fb3b8 100644
--- a/lib/Exporter.js
+++ b/lib/Exporter.js
@@ -101,7 +101,6 @@
 Exporter.prototype.selectFormatFcn = function (format) {
     var self = this;
     var formatFcns = {
-        'mwDeprecated':self.convertToMWDeprecated,
         'mediawiki':self.convertToMediawiki,
         'zotero':self.convertToZotero,
         'bibtex':self.convertToBibtex,
@@ -191,54 +190,6 @@
         }
         return cit;
     });
-
-});
-
-/**
- * Takes Zotero output and converts to 'mwDeprecated' format
- * @param  {Object}   cr                 CitoidResponse object
- * @return {Object}                      BBPromise for CitoidResponse object
- */
-Exporter.prototype.convertToMWDeprecated = BBPromise.method(function(citation){
-    // Don't directly modify cr.response.content, this should remain in zotero 
format only.
-    var content = extend(true, {}, citation.content);
-    var creatorTypeCount = {};
-
-    var zotCreators;
-    var creatorFieldName;
-
-    function fixCreatorsMW() {
-        if (content.creators) {
-            zotCreators = content.creators;
-            for (var z in zotCreators) {
-                creatorFieldName = zotCreators[z].creatorType;
-                if (creatorTypeCount[creatorFieldName]){
-                    creatorTypeCount[creatorFieldName] += 1;
-                } else {
-                    creatorTypeCount[creatorFieldName] = 1;
-                }
-                //Appends number to name, i.e. author -> author1
-                creatorFieldName += 
(parseInt(creatorTypeCount[creatorFieldName]));
-                if (zotCreators[z].firstName){
-                    content[creatorFieldName + "-first"] = 
zotCreators[z].firstName;
-                }
-                if (zotCreators[z].firstName){
-                    content[creatorFieldName + "-last"] = 
zotCreators[z].lastName;
-                } else if (zotCreators[z].name){
-                    content[creatorFieldName + "-last"] = zotCreators[z].name;
-                }
-            }
-            delete content.creators; //remove creators field
-        }
-        return content;
-    }
-
-    fixCreatorsMW();
-
-    citation.formattedContent = content; // Add in process fotmattedContent to 
citation before adding IDs
-
-    return addIDSToCitation(citation);
-
 });
 
 /**
diff --git a/package.json b/package.json
index 3bc7061..0c6391c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "citoid",
-  "version": "0.5.0",
+  "version": "1.0.0",
   "description": "Converts search terms such as URL or DOI into citations.",
   "homepage": "https://www.mediawiki.org/wiki/Citoid";,
   "license": "Apache-2.0",
diff --git a/routes/citoid.js b/routes/citoid.js
index 37caba1..e28c0cd 100644
--- a/routes/citoid.js
+++ b/routes/citoid.js
@@ -22,54 +22,6 @@
 }
 
 /**
- * POST /url
- * Endpoint for retrieving citations in JSON format from a URL.
- * Note: this endpoint is deprecated.
- */
-router.post('/url', function(req, res) {
-
-    var cr = new CitoidRequest(req, app);
-
-    if (!req.body.format) {
-        cr.format = 'mwDeprecated'; // Backwards compatibility with prior 
version of API which did not require format
-    } else {
-        cr.format = encodeURIComponent(req.body.format);
-    }
-
-    if (!req.body.url) {
-        res.status(400).type('application/json');
-        res.send({Error:"No 'url' value specified"});
-        return;
-    }
-
-    // Set search value with uri encoded url
-    cr.search = req.body.url;
-    cr.encodedSearch = encodeURIComponent(req.body.url);
-
-    // Ensure format is supported
-    if (!app.formats[cr.format]) {
-        res.status(400).type('application/json');
-        res.send({Error:'Invalid format requested ' + cr.format});
-        return;
-    // Ensure format supports baseFields- currently mediawiki only
-    } else if(!(getBool(cr.baseFields) && (cr.format === 'mediawiki' || 
cr.format === 'basefields'))){
-        res.status(400).type('application/json');
-        res.send({Error:'Base fields are not supported for format ' + 
cr.format});
-        return;
-    }
-
-    return app.citoid.request(cr).then(function(cr){
-        res.status(cr.response.responseCode).type(app.formats[cr.format]);
-        res.send(cr.response.body);
-    }, function(cr){
-        res.status(cr.response.responseCode).type(app.formats[cr.format]);
-        res.send(cr.response.body);
-    });
-
-});
-
-
-/**
  * GET /api
  * Endpoint for retrieving citations based on search term (URL, DOI).
  */
@@ -114,7 +66,6 @@
     app.nativeFormats = {
         'mediawiki':'application/json',
         'zotero':'application/json',
-        'mwDeprecated':'application/json',
         'basefields': 'application/json'
     };
     app.zoteroFormats = {
diff --git a/test/features/scraping/export.js b/test/features/scraping/export.js
index a2100da..c0e6462 100644
--- a/test/features/scraping/export.js
+++ b/test/features/scraping/export.js
@@ -62,29 +62,15 @@
         });
     });
 
-    describe('Exporting to mwDeprecated: ', function() {
-        it('doi pointing to conferencePaper', function() {
+    describe('Exporting to mwDeprecated no longer functioning : ', function() {
+        it('Uses formerly correct parameter', function() {
             return server.query('10.1007/11926078_68', 
'mwDeprecated').then(function(res) {
-                assert.status(res, 200);
-                assert.checkCitation(res, 'Semantic MediaWiki');
-                assert.deepEqual(!!res.body[0].accessDate, true, 'No 
accessDate present');
-                assert.notDeepEqual(res.body[0].accessDate, 
'CURRENT_TIMESTAMP', 'Access date uncorrected');
-                assert.ok(res.body[0]['author1-last']);
-                assert.ok(res.body[0].DOI);
-                assert.deepEqual(res.body[0].itemType, 'conferencePaper', 
'Wrong itemType; expected conferencePaper, got' + res.body[0].itemType);
+                assert.status(res, 400);
+            }, function(err) {
+                assert.checkError(err, 400, "Invalid format requested 
mwDeprecated");
             });
         });
-        it('doi pointing to Zotero gotten response with name field instead of 
lastName in creators object', function() {
-            return server.query('10.1001/jama.296.10.1274', 
'mwDeprecated').then(function(res) {
-                assert.status(res, 200);
-                assert.checkCitation(res, 'Does This Patient With Headache 
Have a Migraine or Need Neuroimaging?');
-                assert.deepEqual(!!res.body[0].accessDate, true, 'No 
accessDate present');
-                assert.notDeepEqual(res.body[0].accessDate, 
'CURRENT_TIMESTAMP', 'Access date uncorrected');
-                assert.ok(res.body[0]['author1-last']);
-                assert.ok(res.body[0].DOI);
-                assert.deepEqual(res.body[0].itemType, 'journalArticle', 
'Wrong itemType; expected journalArticle, got' + res.body[0].itemType);
-            });
-        });
+
     });
 });
 

-- 
To view, visit https://gerrit.wikimedia.org/r/347352
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idd3ca4f03480ca8bf3ffbdb92d9459be5b2977ac
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/citoid
Gerrit-Branch: master
Gerrit-Owner: Mvolz <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to