jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/380896 )
Change subject: MWLink: Be selective in which title info fields we pass on
..
MWLink: Be selective in which title info fields we pass on
The data-cx blob was bloated with fields like "touched", "lastrevid", etc,
and they make testing harder too.
Change-Id: Ibab5af16f1d183313ddcb9c50d15b6451fd4ee2d
---
M lib/translationunits/MWLink.js
M test/translationunits/MWLink.test.json
2 files changed, 22 insertions(+), 29 deletions(-)
Approvals:
jenkins-bot: Verified
Nikerabbit: Looks good to me, approved
diff --git a/lib/translationunits/MWLink.js b/lib/translationunits/MWLink.js
index 826864c..35ba14c 100644
--- a/lib/translationunits/MWLink.js
+++ b/lib/translationunits/MWLink.js
@@ -2,13 +2,28 @@
const cxutil = require( '../util.js' ),
TranslationUnit = require( './TranslationUnit.js' ),
- MWApiRequestManager = require( '../mw/ApiRequestManager.js' );
+ MWApiRequestManager = require( '../mw/ApiRequestManager.js' ),
+ titleInfoFields = [
+ 'title',
+ 'pagelanguage',
+ 'thumbnail',
+ 'terms',
+ 'pageprops'
+ ];
class MWLink extends TranslationUnit {
}
MWLink.matchTagNames = [ 'a' ];
MWLink.matchRdfaTypes = [ 'mw:WikiLink' ];
+
+function getUsefulFields( titleInfo ) {
+ var result = {};
+ for ( const field of titleInfoFields ) {
+ result[ field ] = titleInfo[ field ];
+ }
+ return result;
+}
MWLink.prototype.adapt = cxutil.async( function* () {
var linkPairInfo, adaptationInfo, sourceTitleInfoRequest,
@@ -31,13 +46,15 @@
// NOTE: This paths we are setting here are not relative paths.
this.node.attributes.href = linkPairInfo.targetTitle;
this.node.attributes.title = linkPairInfo.targetTitle;
- adaptationInfo.targetTitle = yield
apiRequestManager.titleInfoRequest(
- linkPairInfo.targetTitle, this.targetLanguage
+ adaptationInfo.targetTitle = getUsefulFields(
+ yield apiRequestManager.titleInfoRequest(
+ linkPairInfo.targetTitle, this.targetLanguage
+ )
);
adaptationInfo.adapted = true;
}
- adaptationInfo.sourceTitle = yield sourceTitleInfoRequest;
+ adaptationInfo.sourceTitle = getUsefulFields( yield
sourceTitleInfoRequest );
this.node.attributes[ 'data-cx' ] = JSON.stringify( adaptationInfo );
return this.node;
diff --git a/test/translationunits/MWLink.test.json
b/test/translationunits/MWLink.test.json
index ae0dc9b..c062ded 100644
--- a/test/translationunits/MWLink.test.json
+++ b/test/translationunits/MWLink.test.json
@@ -18,29 +18,23 @@
"data-cx": {
"adapted": true,
"targetTitle": {
- "pageid": 3267,
- "ns": 0,
"title": "Oxígeno",
"thumbnail": {
"source":
"https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/O%2C8.jpg/80px-O%2C8.jpg";,
"width": 80,
"height": 40
},
- "pageimage": "O,8.jpg",
"terms": {
"description":
["elemento químico", "elemento químico"]
}
},
"sourceTitle": {
- "pageid": 22303,
- "ns": 0,
"title": "Oxygen",
"thumbnail": {
"source":
"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Liquid_oxygen_in_a_beaker_4.jpg/66px-Liquid_oxygen_in_a_beaker_4.jpg";,
"width": 66,
"height": 80
},
- "pageimage":
"Liquid_oxygen_in_a_beaker_4.jpg",
"terms": {
"description":
["element with the atom