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

Change subject: Fix page title normalization when oldid is supplied
......................................................................

Fix page title normalization when oldid is supplied

 * This was introduced in 6d704298

Change-Id: I5747976bdb7724c38566d0d399aed280bd218769
---
M lib/mw/ApiRequest.js
1 file changed, 18 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/43/387443/1

diff --git a/lib/mw/ApiRequest.js b/lib/mw/ApiRequest.js
index b63d884..129f545 100644
--- a/lib/mw/ApiRequest.js
+++ b/lib/mw/ApiRequest.js
@@ -543,9 +543,6 @@
  * @param {Object} data The response from the server - parsed JSON object
  */
 TemplateRequest.prototype._handleJSON = function(error, data) {
-       var regex, title, location, iwstr, interwiki;
-       var metadata = { title: this.title };
-
        logAPIWarnings(this, data);
 
        if (!error && !data.query) {
@@ -557,22 +554,18 @@
                return;
        }
 
-       if (data.query.normalized && data.query.normalized.length) {
-               // update title (ie, "foo_Bar" -> "Foo Bar")
-               metadata.title = data.query.normalized[0].to;
-       }
-
+       var metadata;
        if (!data.query.pages) {
                if (data.query.interwiki) {
                        // Essentially redirect, but don't actually redirect.
-                       interwiki = data.query.interwiki[0];
-                       title = interwiki.title;
-                       regex = new RegExp('^' + interwiki.iw + ':');
+                       var interwiki = data.query.interwiki[0];
+                       var title = interwiki.title;
+                       var regex = new RegExp('^' + interwiki.iw + ':');
                        title = title.replace(regex, '');
-                       iwstr = 
this.env.conf.wiki.interwikiMap.get(interwiki.iw).url ||
+                       var iwstr = 
this.env.conf.wiki.interwikiMap.get(interwiki.iw).url ||
                                
this.env.conf.parsoid.mwApiMap.get(interwiki.iw).uri ||
                                '/' + interwiki.iw + '/' + '$1';
-                       location = iwstr.replace('$1', title);
+                       var location = iwstr.replace('$1', title);
                        error = new DoesNotExistError('The page at ' + 
this.title +
                                ' can be found at a different location: ' + 
location);
                } else {
@@ -589,13 +582,18 @@
                        if (!page || !page.revisions || !page.revisions.length) 
{
                                return false;
                        }
-                       metadata.id = page.pageid;
-                       metadata.ns = page.ns;
-                       metadata.latest = page.lastrevid;
-                       metadata.revision = page.revisions[0];
-                       metadata.pagelanguage = page.pagelanguage;
-                       metadata.pagelanguagedir = page.pagelanguagedir;
-
+                       metadata = {
+                               id: page.pageid,
+                               // If we requested by `oldid`, the title 
normalization won't be
+                               // returned in `data.query.normalized`, so use 
the page property
+                               // uniformly.
+                               title: page.title,
+                               ns: page.ns,
+                               latest: page.lastrevid,
+                               revision: page.revisions[0],
+                               pagelanguage: page.pagelanguage,
+                               pagelanguagedir: page.pagelanguagedir,
+                       };
                        if (metadata.revision.texthidden || 
!metadata.revision.hasOwnProperty("*")) {
                                error = new DoesNotExistError("Source is hidden 
for " + self.title);
                        }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5747976bdb7724c38566d0d399aed280bd218769
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <abrea...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to