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