Subramanya Sastry has uploaded a new change for review.
https://gerrit.wikimedia.org/r/173269
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, 27 insertions(+), 66 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/69/173269/1
diff --git a/lib/mediawiki.ApiRequest.js b/lib/mediawiki.ApiRequest.js
index 9c37160..1d739c3 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,28 @@
// 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) {
+ 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 +679,6 @@
var metas = [
'siteinfo'
],
-
siprops = [
'namespaces',
'namespacealiases',
@@ -720,7 +690,6 @@
'languages',
'protocols'
],
-
apiargs = {
format: 'json',
action: 'query',
@@ -757,9 +726,6 @@
util.inherits( ConfigRequest, ApiRequest );
-/**
- * @inheritdoc ApiRequest#_handleJSON
- */
ConfigRequest.prototype._handleJSON = function ( error, data ) {
if ( error ) {
this._processListeners( error, {} );
@@ -787,8 +753,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 +817,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: newchange
Gerrit-Change-Id: I5a226605ba53df08e049e823ed01f69bbc5e525f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits