jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/384737 )

Change subject: Add 'titles' object to MCS summary output
......................................................................


Add 'titles' object to MCS summary output

Also adds an ns_text field to the lead object in the formatted* routes
in mobile-sections.js, since summaries now depend on it.

Bug: T164291
Change-Id: I0b81eefaff2eed154b1c8fa2ad51a80c3c58b69f
---
M lib/mobile-util.js
M lib/mwapi.js
M routes/mobile-sections.js
M 
test/diff/results/page_formatted-enwiki-User%3ABSitzmann_(WMF)_MCS_Test_Frankenstein.json
M 
test/diff/results/page_formatted-enwiki-User%3ABSitzmann_(WMF)_MCS_Test_TitleLinkEncoding.json
M 
test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_(WMF)_MCS_Test_Frankenstein.json
M 
test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_(WMF)_MCS_Test_TitleLinkEncoding.json
M test/features/summary/pagecontent.js
A test/fixtures/formatted-lead-Β-lactam_antibiotic.json
A test/fixtures/siteinfo_enwiki.json
10 files changed, 347 insertions(+), 9 deletions(-)

Approvals:
  BearND: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/mobile-util.js b/lib/mobile-util.js
index cee4c5d..ca5a723 100644
--- a/lib/mobile-util.js
+++ b/lib/mobile-util.js
@@ -202,6 +202,22 @@
     return request.uri;
 };
 
+/**
+ * Builds a dictionary containing the various forms of a page title that a 
client may need.
+ * @param {!Object} title a mediawiki-title Title object constructed from a 
page title string
+ * @param {!Object} lead a page lead object from buildLeadObject in 
mobile-sections.js
+ * @return {!Object} a set of useful page title strings
+ */
+mUtil.buildTitleDictionary = function(title, lead) {
+    return {
+        title: title.getPrefixedDBKey(),
+        normalized_title: lead.normalizedtitle,
+        display_title: lead.displaytitle,
+        namespace_id: lead.ns,
+        namespace_name: lead.ns_text,
+    };
+};
+
 mUtil.throw404 = function(message) {
     throw new HTTPError({
         status: 404,
diff --git a/lib/mwapi.js b/lib/mwapi.js
index 6742492..8572593 100644
--- a/lib/mwapi.js
+++ b/lib/mwapi.js
@@ -236,6 +236,7 @@
             thumbnail: page.thumbnail,
             originalimage: page.original,
             ns: page.ns,
+            ns_text: res.siteinfo.namespaces[page.ns].name,
             protection,
             editable: !protection.edit,
             mainpage,
@@ -376,11 +377,14 @@
 
 /**
  * Get a Title object for a MW title string
+ * @param {!Object} app the application object
+ * @param {!Object} req the Request object
+ * @param {!string} title a MediaWiki page title string
+ * @return {!Object} a mediawiki-title Title object that can be used to obtain 
a db-normalized title
  *
- * TODO: This is copied nearly verbatim from restbase/lib/mwUtil.js.  Should we
- * put it somewhere we can share it?
+ * TODO: This is copied nearly verbatim from restbase/lib/mwUtil.js. Can we 
share it somewhere?
  */
-mwapi.getTitleObj = function(app, req, title) {
+mwapi.getTitleObj = function(app, req, title = req.params.title) {
     return mwapi.getSiteInfo(app, req)
     .then((siteInfo) => {
         return Title.newFromText(title, siteInfo);
diff --git a/routes/mobile-sections.js b/routes/mobile-sections.js
index d9e018f..49bc129 100644
--- a/routes/mobile-sections.js
+++ b/routes/mobile-sections.js
@@ -127,6 +127,7 @@
 
     return {
         ns: input.meta.ns,
+        ns_text: input.meta.ns_text,
         contentmodel,
         userinfo: input.meta.userinfo,
         imageinfo: input.meta.imageinfo,
@@ -375,7 +376,6 @@
     });
 }
 
-
 /*
  * Build a summary for the page given in req
  * @param {!Request} req
@@ -384,8 +384,13 @@
  * @return {!BBPromise}
  */
 function buildSummary(req) {
-    return buildLeadObject(req, false).then((lead) => {
+    return BBPromise.props({
+        title: mwapi.getTitleObj(app, req),
+        lead: buildLeadObject(req, false)
+    }).then((response) => {
         let summary = {};
+        const title = response.title;
+        const lead = response.lead;
         const type = 'standard';
         let code = 200;
 
@@ -406,6 +411,7 @@
             type,
             title: lead.normalizedtitle,
             displaytitle: lead.displaytitle,
+            titles: mUtil.buildTitleDictionary(title, lead),
             pageid: lead.id,
             thumbnail: lead.thumbnail,
             originalimage: lead.originalimage,
diff --git 
"a/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
 
"b/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
index 2a1e9c4..4e58376 100644
--- 
"a/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
+++ 
"b/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
@@ -1,6 +1,7 @@
 {
   "lead": {
     "ns": 2,
+    "ns_text": "User",
     "id": 53626841,
     "revision": "778666613",
     "displaytitle": "User:BSitzmann (WMF)/MCS/Test/Frankenstein",
diff --git 
"a/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
 
"b/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
index 93d06ee..607c505 100644
--- 
"a/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
+++ 
"b/test/diff/results/page_formatted-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
@@ -1,6 +1,7 @@
 {
   "lead": {
     "ns": 2,
+    "ns_text": "User",
     "id": 51184092,
     "revision": "743079682",
     "displaytitle": "User:BSitzmann (WMF)/MCS/Test/TitleLinkEncoding",
diff --git 
"a/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
 
"b/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
index ed91a59..0530be2 100644
--- 
"a/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
+++ 
"b/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_Frankenstein.json"
@@ -1,6 +1,7 @@
 {
   "lead": {
     "ns": 2,
+    "ns_text": "User",
     "id": 53626841,
     "revision": "778666613",
     "displaytitle": "User:BSitzmann (WMF)/MCS/Test/Frankenstein",
diff --git 
"a/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
 
"b/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
index 52bff51..da0c046 100644
--- 
"a/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
+++ 
"b/test/diff/results/page_mobile-sections-enwiki-User%3ABSitzmann_\050WMF\051_MCS_Test_TitleLinkEncoding.json"
@@ -1,6 +1,7 @@
 {
   "lead": {
     "ns": 2,
+    "ns_text": "User",
     "id": 51184092,
     "revision": "743079682",
     "displaytitle": "User:BSitzmann (WMF)/MCS/Test/TitleLinkEncoding",
diff --git a/test/features/summary/pagecontent.js 
b/test/features/summary/pagecontent.js
index 9a2f57f..53f96d3 100644
--- a/test/features/summary/pagecontent.js
+++ b/test/features/summary/pagecontent.js
@@ -1,9 +1,14 @@
 'use strict';
 
-const preq   = require('preq');
+const preq = require('preq');
+const Title = require('mediawiki-title').Title;
 const assert = require('../../utils/assert.js');
 const headers = require('../../utils/headers.js');
 const server = require('../../utils/server.js');
+const mUtil = require('../../../lib/mobile-util');
+
+const blaLead = 
require('../../fixtures/formatted-lead-Β-lactam_antibiotic.json');
+const siteinfo = require('../../fixtures/siteinfo_enwiki.json');
 
 describe('summary', function() {
 
@@ -21,13 +26,30 @@
     });
 
     it('should respond with expected properties in payload', () => {
+
         const uri = localUri('Foobar/798652007');
         return preq.get({ uri })
             .then((res) => {
-                assert.equal(res.status, 200);
-                assert.equal(res.body.type, 'standard');
-                assert.equal(res.body.revision, 798652007);
+                assert.deepEqual(res.status, 200);
+                assert.deepEqual(res.body.type, 'standard');
+                assert.deepEqual(res.body.revision, 798652007);
+                assert.deepEqual(res.body.titles.title, "Foobar");
+                assert.deepEqual(res.body.titles.normalized_title, "Foobar");
+                assert.deepEqual(res.body.titles.display_title, "Foobar");
+                assert.deepEqual(res.body.titles.namespace_id, 0);
+                assert.deepEqual(res.body.titles.namespace_name, "");
                 assert.ok(res.body.extract.indexOf('foobar') > -1);
+                assert.ok(res.body.extract_html.indexOf('<b>foobar</b>') > -1);
             });
     });
+
+    it('titles dictionary contains all required fields', () => {
+        const title = Title.newFromText('Β-lactam_antibiotic', siteinfo);
+        const result = mUtil.buildTitleDictionary(title, blaLead);
+        assert.deepEqual(result.title, "Β-lactam_antibiotic");
+        assert.deepEqual(result.normalized_title, "Β-lactam antibiotic");
+        assert.deepEqual(result.display_title, "β-lactam antibiotic");
+        assert.deepEqual(result.namespace_id, 0);
+        assert.deepEqual(result.namespace_name, "");
+    });
 });
diff --git "a/test/fixtures/formatted-lead-\316\222-lactam_antibiotic.json" 
"b/test/fixtures/formatted-lead-\316\222-lactam_antibiotic.json"
new file mode 100644
index 0000000..02cd620
--- /dev/null
+++ "b/test/fixtures/formatted-lead-\316\222-lactam_antibiotic.json"
@@ -0,0 +1,31 @@
+{
+  "ns": 0,
+  "ns_text": "",
+  "id": 52784,
+  "revision": "801345149",
+  "lastmodified": "2017-09-19T03:33:47Z",
+  "lastmodifier": {
+    "user": "KolbertBot",
+    "gender": "unknown"
+  },
+  "displaytitle": "β-lactam antibiotic",
+  "normalizedtitle": "Β-lactam antibiotic",
+  "wikibase_item": "Q306264",
+  "description": "class of broad-spectrum antibiotics, consisting of all 
antibiotic agents that contain a β-lactam ring in their molecular structures. 
This includes penicillin derivatives (penams), cephalosporins (cephems), 
monobactams, and carbapenems",
+  "protection": {},
+  "editable": true,
+  "languagecount": 35,
+  "image": {
+    "file": "Beta-lactam_antibiotics_example_1.svg",
+    "urls": {
+      "320": 
"//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Beta-lactam_antibiotics_example_1.svg/320px-Beta-lactam_antibiotics_example_1.svg.png",
+      "640": 
"//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Beta-lactam_antibiotics_example_1.svg/640px-Beta-lactam_antibiotics_example_1.svg.png",
+      "800": 
"//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Beta-lactam_antibiotics_example_1.svg/678px-Beta-lactam_antibiotics_example_1.svg.png",
+      "1024": 
"//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Beta-lactam_antibiotics_example_1.svg/678px-Beta-lactam_antibiotics_example_1.svg.png"
+    }
+  },
+  "hatnotes": [],
+  "infobox": "<table class=\"infobox\"><tbody><tr><th colspan=\"2\" 
style=\"text-align:center;font-size:125%;font-weight:bold;background-color: 
\n#ddbbee\">β-lactam antibiotic<br>Beta-lactam antibiotic</th></tr><tr><td 
colspan=\"2\" style=\"text-align:center\">\n<i><a href=\"./Drug_class\" 
title=\"Drug class\">Drug class</a></i></td></tr><tr><td colspan=\"2\" 
style=\"text-align:center\">\n<p><span class=\"mw-default-size\"><a 
href=\"./File:Beta-lactam_antibiotics_example_1.svg\"><img 
src=\"//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Beta-lactam_antibiotics_example_1.svg/280px-Beta-lactam_antibiotics_example_1.svg.png\"
 data-file-type=\"drawing\" height=\"423\" width=\"280\" 
srcset=\"//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Beta-lactam_antibiotics_example_1.svg/560px-Beta-lactam_antibiotics_example_1.svg.png
 2x, 
//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Beta-lactam_antibiotics_example_1.svg/420px-Beta-lactam_antibiotics_example_1.svg.png
 1.5x\"></a></span></p><div>Core structure of <a href=\"./Penicillin\" 
title=\"Penicillin\">penicillins</a> (top) and <a href=\"./Cephalosporin\" 
title=\"Cephalosporin\">cephalosporins</a> (bottom). <a href=\"./Β-lactam\" 
title=\"Β-lactam\" class=\"mw-redirect\">β-lactam</a> ring in 
red.</div></td></tr><tr><th colspan=\"2\" style=\"text-align:center;background: 
#e8e8e8;\">Class identifiers</th></tr><tr><th 
scope=\"row\">Use</th><td>\nBacterial infection</td></tr><tr><th 
scope=\"row\"><a 
href=\"./Anatomical_Therapeutic_Chemical_Classification_System\" 
title=\"Anatomical Therapeutic Chemical Classification System\">ATC 
code</a></th><td>\n<a href=\"./ATC_code_J01C\" title=\"ATC code J01C\" 
class=\"mw-redirect\">J01C</a></td></tr><tr><th scope=\"row\"><a 
href=\"./Biological_target\" title=\"Biological target\">Biological 
target</a></th><td>\n<a href=\"./Penicillin_binding_protein\" 
title=\"Penicillin binding protein\" class=\"mw-redirect\">Penicillin binding 
protein</a></td></tr><tr><th colspan=\"2\" 
style=\"text-align:center;background: #e8e8e8;\">External 
links</th></tr><tr><th scope=\"row\"><a href=\"./Medical_Subject_Headings\" 
title=\"Medical Subject Headings\">MeSH</a></th><td>\n<span class=\"reflink 
plainlinks nourlexpansion\"><a rel=\"mw:ExtLink\" 
href=\"https://www.nlm.nih.gov/cgi/mesh/2011/MB_cgi?field=uid&amp;term=D047090\";>D047090</a></span></td></tr><tr><td
 colspan=\"2\" style=\"text-align:center;background: #e8e8e8; text-align: 
center\">\n<a rel=\"mw:ExtLink\" 
href=\"https://www.wikidata.org/wiki/Q306264%20\"; title=\"d:Q306264 \">In 
Wikidata</a></td></tr></tbody></table>",
+  "intro": "<p><b>β-lactam antibiotics</b> (<b>beta-lactam antibiotics</b>) 
are a class of <a href=\"./Broad-spectrum_antibiotic\" title=\"Broad-spectrum 
antibiotic\">broad-spectrum antibiotics</a>, consisting of all <a 
href=\"./Antibiotic\" title=\"Antibiotic\" class=\"mw-redirect\">antibiotic</a> 
agents that contain a <a href=\"./Beta-lactam\" 
title=\"Beta-lactam\">beta-lactam</a> ring in their molecular structures. This 
includes <a href=\"./Penicillin\" title=\"Penicillin\">penicillin</a> 
derivatives (<a href=\"./Penam\" title=\"Penam\">penams</a>), <a 
href=\"./Cephalosporin\" title=\"Cephalosporin\">cephalosporins</a> (<a 
href=\"./Cephem\" title=\"Cephem\">cephems</a>), <a href=\"./Monobactam\" 
title=\"Monobactam\">monobactams</a>, and <a href=\"./Carbapenem\" 
title=\"Carbapenem\">carbapenems</a>.<span class=\"mw-ref\" 
id=\"cite_ref-pmid10950216_1-0\"><a 
href=\"./Β-lactam_antibiotic#cite_note-pmid10950216-1\" style=\"counter-reset: 
mw-Ref 1;\"><span class=\"mw-reflink-text\">[1]</span></a></span> Most β-lactam 
antibiotics work by inhibiting <a href=\"./Cell_wall\" title=\"Cell wall\">cell 
wall</a> biosynthesis in the bacterial organism and are the most widely used 
group of antibiotics. Until 2003, when measured by sales, more than half of all 
commercially available antibiotics in use were β-lactam compounds.<span 
class=\"mw-ref\" id=\"cite_ref-2\"><a 
href=\"./Β-lactam_antibiotic#cite_note-2\" style=\"counter-reset: mw-Ref 
2;\"><span class=\"mw-reflink-text\">[2]</span></a></span></p>",
+  "text": "\n\n<p>Bacteria often develop resistance to β-lactam antibiotics by 
synthesizing a <a href=\"./Beta-lactamase\" 
title=\"Beta-lactamase\">β-lactamase</a>, an enzyme that attacks the β-lactam 
ring. To overcome this resistance, β-lactam antibiotics are often given with <a 
href=\"./Β-Lactamase_inhibitor\" title=\"Β-Lactamase inhibitor\">β-lactamase 
inhibitors</a> such as <a href=\"./Clavulanic_acid\" title=\"Clavulanic 
acid\">clavulanic acid</a>.</p>\n\n"
+}
\ No newline at end of file
diff --git a/test/fixtures/siteinfo_enwiki.json 
b/test/fixtures/siteinfo_enwiki.json
new file mode 100644
index 0000000..0d4bb07
--- /dev/null
+++ b/test/fixtures/siteinfo_enwiki.json
@@ -0,0 +1,255 @@
+{
+  "general": {
+    "mainpage": "Main Page",
+    "legaltitlechars": " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+",
+    "case": "first-letter",
+    "lang": "en"
+  },
+  "namespaces": {
+    "0": {
+      "id": 0,
+      "case": "first-letter",
+      "content": "",
+      "*": ""
+    },
+    "1": {
+      "id": 1,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Talk",
+      "*": "Talk"
+    },
+    "2": {
+      "id": 2,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "User",
+      "*": "User"
+    },
+    "3": {
+      "id": 3,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "User talk",
+      "*": "User talk"
+    },
+    "4": {
+      "id": 4,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Project",
+      "*": "Wikipedia"
+    },
+    "5": {
+      "id": 5,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Project talk",
+      "*": "Wikipedia talk"
+    },
+    "6": {
+      "id": 6,
+      "case": "first-letter",
+      "canonical": "File",
+      "*": "File"
+    },
+    "7": {
+      "id": 7,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "File talk",
+      "*": "File talk"
+    },
+    "8": {
+      "id": 8,
+      "case": "first-letter",
+      "canonical": "MediaWiki",
+      "*": "MediaWiki"
+    },
+    "9": {
+      "id": 9,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "MediaWiki talk",
+      "*": "MediaWiki talk"
+    },
+    "10": {
+      "id": 10,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Template",
+      "*": "Template"
+    },
+    "11": {
+      "id": 11,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Template talk",
+      "*": "Template talk"
+    },
+    "12": {
+      "id": 12,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Help",
+      "*": "Help"
+    },
+    "13": {
+      "id": 13,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Help talk",
+      "*": "Help talk"
+    },
+    "14": {
+      "id": 14,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Category",
+      "*": "Category"
+    },
+    "15": {
+      "id": 15,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Category talk",
+      "*": "Category talk"
+    },
+    "100": {
+      "id": 100,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Portal",
+      "*": "Portal"
+    },
+    "101": {
+      "id": 101,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Portal talk",
+      "*": "Portal talk"
+    },
+    "108": {
+      "id": 108,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Book",
+      "*": "Book"
+    },
+    "109": {
+      "id": 109,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Book talk",
+      "*": "Book talk"
+    },
+    "118": {
+      "id": 118,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Draft",
+      "*": "Draft"
+    },
+    "119": {
+      "id": 119,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Draft talk",
+      "*": "Draft talk"
+    },
+    "446": {
+      "id": 446,
+      "case": "first-letter",
+      "canonical": "Education Program",
+      "*": "Education Program"
+    },
+    "447": {
+      "id": 447,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Education Program talk",
+      "*": "Education Program talk"
+    },
+    "710": {
+      "id": 710,
+      "case": "first-letter",
+      "canonical": "TimedText",
+      "*": "TimedText"
+    },
+    "711": {
+      "id": 711,
+      "case": "first-letter",
+      "canonical": "TimedText talk",
+      "*": "TimedText talk"
+    },
+    "828": {
+      "id": 828,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Module",
+      "*": "Module"
+    },
+    "829": {
+      "id": 829,
+      "case": "first-letter",
+      "subpages": "",
+      "canonical": "Module talk",
+      "*": "Module talk"
+    },
+    "2300": {
+      "id": 2300,
+      "case": "first-letter",
+      "canonical": "Gadget",
+      "*": "Gadget"
+    },
+    "2301": {
+      "id": 2301,
+      "case": "first-letter",
+      "canonical": "Gadget talk",
+      "*": "Gadget talk"
+    },
+    "2302": {
+      "id": 2302,
+      "case": "case-sensitive",
+      "canonical": "Gadget definition",
+      "defaultcontentmodel": "GadgetDefinition",
+      "*": "Gadget definition"
+    },
+    "2303": {
+      "id": 2303,
+      "case": "case-sensitive",
+      "canonical": "Gadget definition talk",
+      "*": "Gadget definition talk"
+    },
+    "-2": {
+      "id": -2,
+      "case": "first-letter",
+      "canonical": "Media",
+      "*": "Media"
+    },
+    "-1": {
+      "id": -1,
+      "case": "first-letter",
+      "canonical": "Special",
+      "*": "Special"
+    }
+  },
+  "namespacealiases": [
+    {
+      "id": 4,
+      "*": "WP"
+    },
+    {
+      "id": 5,
+      "*": "WT"
+    },
+    {
+      "id": 6,
+      "*": "Image"
+    },
+    {
+      "id": 7,
+      "*": "Image talk"
+    }
+  ]
+}
\ No newline at end of file

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I0b81eefaff2eed154b1c8fa2ad51a80c3c58b69f
Gerrit-PatchSet: 11
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Fjalapeno <[email protected]>
Gerrit-Reviewer: GWicke <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: Mhurd <[email protected]>
Gerrit-Reviewer: Mobrovac <[email protected]>
Gerrit-Reviewer: Ppchelko <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to