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