jenkins-bot has submitted this change and it was merged.

Change subject: Code + comment cleanup in mediawiki.ApiRequest.js
......................................................................


Code + comment cleanup in mediawiki.ApiRequest.js

* Removed/updated stale comments
* Removed stale commented code
* Some code refactoring

Change-Id: I5a226605ba53df08e049e823ed01f69bbc5e525f
---
M lib/mediawiki.ApiRequest.js
1 file changed, 30 insertions(+), 66 deletions(-)

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



diff --git a/lib/mediawiki.ApiRequest.js b/lib/mediawiki.ApiRequest.js
index 9c37160..ca5591c 100644
--- a/lib/mediawiki.ApiRequest.js
+++ b/lib/mediawiki.ApiRequest.js
@@ -3,7 +3,6 @@
 require('./core-upgrade.js');
 
 // many concurrent connections to the same host
-
 var Agent = require('./_http_agent.js').Agent,
        httpAgent = new Agent({
                connectTimeout: 5 * 1000,
@@ -18,11 +17,8 @@
        domino = require('domino');
 
 // all revision properties which parsoid is interested in.
-var PARSOID_RVPROP = ('content|ids|timestamp|user|userid|size|sha1|'+
-                                         'contentmodel|comment');
+var PARSOID_RVPROP = 
('content|ids|timestamp|user|userid|size|sha1|contentmodel|comment');
 
-//var userAgent = 'Mozilla/5.0 (X11; Linux x86_64; rv:9.0.1) ' +
-//                                                     'Gecko/20100101 
Firefox/9.0.1 Parsoid/0.1';
 var userAgent = 'Parsoid/0.1';
 
 /**
@@ -79,6 +75,7 @@
 
        // Increase the number of maximum listeners a bit..
        this.setMaxListeners( 50000 );
+
        this.retries = 8;
        this.env = env;
        this.title = title;
@@ -101,9 +98,9 @@
  * @method
  * @private
  * @param {Error/null} error
- * @param {string} src The wikitext source of the page
+ * @param {string} data wikitext / html / metadata
  */
-ApiRequest.prototype._processListeners = function ( error, src ) {
+ApiRequest.prototype._processListeners = function ( error, data ) {
        // Process only a few callbacks in each event loop iteration to
        // reduce memory usage.
        var self = this;
@@ -121,9 +118,9 @@
 
                        // We only retrieve text/x-mediawiki source currently.
                        // We expect these listeners to remove themselves when 
being
-                       // called- always add them with once().
+                       // called - always add them with once().
                        try {
-                               nextListener.call( self, error || null, src, 
'text/x-mediawiki' );
+                               nextListener.call( self, error || null, data, 
'text/x-mediawiki' );
                        } catch(e) {
                                return self.env.log("fatal", e);
                        }
@@ -180,10 +177,7 @@
        // XXX: handle other status codes
 
        // Remove self from request queue
-       //this.env.dp( 'trying to remove ', this.title, ' from requestQueue' );
-
        delete this.env.requestQueue[this.queueKey];
-       //this.env.dp( 'after deletion:', this.env.requestQueue );
 };
 
 /**
@@ -192,7 +186,6 @@
  * @method
  * @private
  * @param {Error/null} error
- * @param {Object} response The API response object, with error code
  * @param {string} body The body of the response from the API
  */
 ApiRequest.prototype._handleBody = function (error, body) {
@@ -210,15 +203,6 @@
        }
        this._handleJSON( error, data );
 };
-
-
-/**
- * @method _handleJSON
- * @template
- * @private
- * @param {Error} error
- * @param {Object} data The response from the server - parsed JSON object
- */
 
 /**
  * @class
@@ -279,7 +263,11 @@
 util.inherits(TemplateRequest, ApiRequest);
 
 /**
- * @inheritdoc ApiRequest#_handleJSON
+ * @method _handleJSON
+ * @template
+ * @private
+ * @param {Error} error
+ * @param {Object} data The response from the server - parsed JSON object
  */
 TemplateRequest.prototype._handleJSON = function ( error, data ) {
        var regex, title, location, iwstr, interwiki, src = '';
@@ -415,9 +403,6 @@
 // Inherit from ApiRequest
 util.inherits( PreprocessorRequest, ApiRequest );
 
-/**
- * @inheritdoc ApiRequest#_handleJSON
- */
 PreprocessorRequest.prototype._handleJSON = function ( error, data ) {
        if ( error ) {
                this.env.log("error", error);
@@ -523,9 +508,6 @@
 // Inherit from ApiRequest
 util.inherits( PHPParseRequest, ApiRequest );
 
-/**
- * @inheritdoc ApiRequest#_handleJSON
- */
 var dummyDoc = domino.createDocument();
 PHPParseRequest.prototype._handleJSON = function ( error, data ) {
        if ( error ) {
@@ -549,39 +531,31 @@
                // Also strip a paragraph wrapper, if any
                parsedHtml = parsedHtml.replace(/(^<p>)|(<\/p>$)/g, '');
 
-               this.env.tp( 'Expanded ', this.text, parsedHtml );
-
                // Add the modules to the page data
-               var i;
-               if (data.parse.modules) {
-                       if (!this.env.page.extensionModules) {
-                               this.env.page.extensionModules = new Set();
+               var setPageProperty = function(src, property) {
+                       var page = this.env.page;
+                       if (src) {
+                               // This info comes back from the MW API when 
extension tags are parsed.
+                               // Since a page can have multiple extension 
tags, we can hit this code
+                               // multiple times and run into an already 
initialized set.
+                               if (!page[property]) {
+                                       page[property] = new Set();
+                               }
+                               for (var i in src) {
+                                       page[property].add(src[i]);
+                               }
                        }
-                       for (i in data.parse.modules) { 
this.env.page.extensionModules.add(data.parse.modules[i]); }
-               }
-               if (data.parse.modulescripts) {
-                       if (!this.env.page.extensionModuleScripts) {
-                               this.env.page.extensionModuleScripts = new 
Set();
-                       }
-                       for (i in data.parse.modulescripts) { 
this.env.page.extensionModuleScripts.add(data.parse.modulescripts[i]); }
-               }
-               if (data.parse.modulestyles) {
-                       if (!this.env.page.extensionModuleStyles) {
-                               this.env.page.extensionModuleStyles = new Set();
-                       }
-                       for (i in data.parse.modulestyles) { 
this.env.page.extensionModuleStyles.add(data.parse.modulestyles[i]); }
-               }
-               if (data.parse.modulemessages) {
-                       if (!this.env.page.extensionModuleMessages) {
-                               this.env.page.extensionModuleMessages = new 
Set();
-                       }
-                       for (i in data.parse.modulemessages) { 
this.env.page.extensionModuleMessages.add(data.parse.modulemessages[i]); }
-               }
+               };
+
+               setPageProperty(data.parse.modules, "extensionModules");
+               setPageProperty(data.parse.modulescripts, 
"extensionModuleScripts");
+               setPageProperty(data.parse.modulestyles, 
"extensionModuleStyles");
+               setPageProperty(data.parse.modulemessages, 
"extensionModuleMessages");
 
                // Add the categories which were added by extensions directly 
into the
                // page and not as in-text links
                if (data.parse.categories) {
-                       for (i in data.parse.categories) {
+                       for (var i in data.parse.categories) {
                                var category = data.parse.categories[i];
 
                                var link = dummyDoc.createElement("link");
@@ -708,7 +682,6 @@
        var metas = [
                        'siteinfo'
                ],
-
                siprops = [
                        'namespaces',
                        'namespacealiases',
@@ -720,7 +693,6 @@
                        'languages',
                        'protocols'
                ],
-
                apiargs = {
                        format: 'json',
                        action: 'query',
@@ -757,9 +729,6 @@
 
 util.inherits( ConfigRequest, ApiRequest );
 
-/**
- * @inheritdoc ApiRequest#_handleJSON
- */
 ConfigRequest.prototype._handleJSON = function ( error, data ) {
        if ( error ) {
                this._processListeners( error, {} );
@@ -787,8 +756,6 @@
  * @param {MWParserEnvironment} env
  * @param {string} filename
  * @param @optional {Object} dims
- * @param @optional {number} width
- * @param @optional {number} height
  */
 function ImageInfoRequest( env, filename, dims ) {
        ApiRequest.call( this, env, null );
@@ -853,9 +820,6 @@
 
 util.inherits( ImageInfoRequest, ApiRequest );
 
-/**
- * @inheritdoc ApiRequest#_handleJSON
- */
 ImageInfoRequest.prototype._handleJSON = function ( error, data ) {
        var pagenames, names, namelist, newpages, pages, pagelist, ix;
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I5a226605ba53df08e049e823ed01f69bbc5e525f
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: Arlolra <[email protected]>
Gerrit-Reviewer: Cscott <[email protected]>
Gerrit-Reviewer: Marcoil <[email protected]>
Gerrit-Reviewer: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to