Arlolra has uploaded a new change for review.
https://gerrit.wikimedia.org/r/92769
Change subject: Parse a page on noinput
......................................................................
Parse a page on noinput
When no input is given to parse.js, it fetches and parses a page. The
--pagename is changed to --page and can be used as before, in concert
with --prefix.
Change-Id: Ic0eb2626ead3f16cdfd601ce5a5a4e0be3d3eef9
---
M js/api/ParserService.js
M js/tests/parse.js
2 files changed, 29 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Parsoid
refs/changes/69/92769/1
diff --git a/js/api/ParserService.js b/js/api/ParserService.js
index e6c7496..928aa83 100644
--- a/js/api/ParserService.js
+++ b/js/api/ParserService.js
@@ -651,13 +651,14 @@
if ( !req.headers.cookie ) {
res.setHeader( 'Cache-Control',
's-maxage=2592000' );
} else {
+ // Don't cache requests with a session
res.setHeader( 'Cache-Control',
'private,no-cache,s-maxage=0' );
}
tmpCb = parse.bind( null, env, req, res, function (
req, res, src, doc ) {
sendRes( doc.documentElement );
});
} else {
- // Don't cache requests with a session or no oldid
+ // Don't cache requests with no oldid
res.setHeader( 'Cache-Control',
'private,no-cache,s-maxage=0' );
tmpCb = function ( err, src_and_metadata ) {
if ( err ) {
diff --git a/js/tests/parse.js b/js/tests/parse.js
index b5405c7..e59b4f8 100755
--- a/js/tests/parse.js
+++ b/js/tests/parse.js
@@ -8,6 +8,7 @@
ParsoidConfig = require( '../lib/mediawiki.ParsoidConfig.js'
).ParsoidConfig,
WikitextSerializer =
require('../lib/mediawiki.WikitextSerializer.js').WikitextSerializer,
SelectiveSerializer = require(
'../lib/mediawiki.SelectiveSerializer.js' ).SelectiveSerializer,
+ TemplateRequest =
require('../lib/mediawiki.ApiRequest.js').TemplateRequest,
Util = require('../lib/mediawiki.Util.js').Util,
DU = require('../lib/mediawiki.DOMUtils.js').DOMUtils,
optimist = require('optimist'),
@@ -150,10 +151,10 @@
'boolean': true,
'default': true
},
- 'pagename': {
- description: 'The page name, returned for
{{PAGENAME}}.',
+ 'page': {
+ description: 'The page name, returned for {{PAGENAME}}.
If no input is given (ie. empty/stdin closed), it downloads and parses the
page.',
'boolean': false,
- 'default': 'Main page'
+ 'default': 'Main_Page'
},
'oldtext': {
description: 'The old page text for a
selective-serialization (see --selser)',
@@ -225,7 +226,7 @@
}
parsoidConfig.fetchConfig = Util.booleanOption( argv.fetchConfig );
- ParserEnv.getParserEnv( parsoidConfig, null, prefix, argv.pagename ||
null, null, function ( err, env ) {
+ ParserEnv.getParserEnv( parsoidConfig, null, prefix, argv.page || null,
null, function ( err, env ) {
if ( err !== null ) {
console.error( err.toString() );
process.exit( 1 );
@@ -287,6 +288,28 @@
// process input
var processInput = function() {
+
+ // parse page
+ if ( inputChunks.length === 0 ) {
+ var target = env.resolveTitle(
env.normalizeTitle( env.page.name ), '' );
+ var tpr = new TemplateRequest( env, target );
+ tpr.once( 'src', function ( err,
src_and_metadata ) {
+ if ( err ) {
+ console.error( err.toString() );
+ process.exit( 1 );
+ }
+ env.setPageSrcInfo( src_and_metadata );
+ Util.parse( env, function ( src, err,
doc ) {
+ if ( err ) {
+ console.error(
err.toString() );
+ process.exit( 1 );
+ }
+ stdout.write( DU.serializeNode(
doc.documentElement ) );
+ }, null, env.page.src );
+ });
+ return;
+ }
+
var input = inputChunks.join('');
if (argv.html2wt || argv.html2html) {
var doc = DU.parseHTML(input.replace(/\r/g, '')),
--
To view, visit https://gerrit.wikimedia.org/r/92769
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic0eb2626ead3f16cdfd601ce5a5a4e0be3d3eef9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits