X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FcompareParsers.php;h=e67c439baf8a45f3c6fe87aab31082e9562248c1;hb=e25eb30ea81eda82b57a4e3c84f4e1afdf3b6080;hp=fabc2571333ef948905089b3a4805b3eefd37393;hpb=c4d81e6c1e3d3aef7a21fbd704a94965116afebd;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/compareParsers.php b/maintenance/compareParsers.php index fabc257133..e67c439baf 100644 --- a/maintenance/compareParsers.php +++ b/maintenance/compareParsers.php @@ -7,7 +7,7 @@ * Templates etc are pulled from the local wiki database, not from the dump. * * Copyright © 2011 Platonides - * http://www.mediawiki.org/ + * https://www.mediawiki.org/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -47,11 +47,31 @@ class CompareParsers extends DumpIterator { $this->addOption( 'parser1', 'The first parser to compare.', true, true ); $this->addOption( 'parser2', 'The second parser to compare.', true, true ); $this->addOption( 'tidy', 'Run tidy on the articles.', false, false ); - $this->addOption( 'save-failed', 'Folder in which articles which differ will be stored.', false, true ); + $this->addOption( + 'save-failed', + 'Folder in which articles which differ will be stored.', + false, + true + ); $this->addOption( 'show-diff', 'Show a diff of the two renderings.', false, false ); - $this->addOption( 'diff-bin', 'Binary to use for diffing (can also be provided by DIFF env var).', false, false ); - $this->addOption( 'strip-parameters', 'Remove parameters of html tags to increase readability.', false, false ); - $this->addOption( 'show-parsed-output', 'Show the parsed html if both Parsers give the same output.', false, false ); + $this->addOption( + 'diff-bin', + 'Binary to use for diffing (can also be provided by DIFF env var).', + false, + false + ); + $this->addOption( + 'strip-parameters', + 'Remove parameters of html tags to increase readability.', + false, + false + ); + $this->addOption( + 'show-parsed-output', + 'Show the parsed html if both Parsers give the same output.', + false, + false + ); } public function checkOptions() { @@ -96,12 +116,13 @@ class CompareParsers extends DumpIterator { if ( !$this->stripParametersEnabled ) { return $text; } + return preg_replace( '/(]+>/', '$1>', $text ); } /** * Callback function for each revision, parse with both parsers and compare - * @param $rev Revision + * @param Revision $rev */ public function processRevision( $rev ) { $title = $rev->getTitle(); @@ -118,7 +139,9 @@ class CompareParsers extends DumpIterator { $content = $rev->getContent(); if ( $content->getModel() !== CONTENT_MODEL_WIKITEXT ) { - $this->error( "Page {$title->getPrefixedText()} does not contain wikitext but {$content->getModel()}\n" ); + $this->error( "Page {$title->getPrefixedText()} does not contain wikitext " + . "but {$content->getModel()}\n" ); + return; } @@ -132,13 +155,21 @@ class CompareParsers extends DumpIterator { $this->error( "Parsing for {$title->getPrefixedText()} differs\n" ); if ( $this->saveFailed ) { - file_put_contents( $this->saveFailed . '/' . rawurlencode( $title->getPrefixedText() ) . ".txt", $text ); + file_put_contents( + $this->saveFailed . '/' . rawurlencode( $title->getPrefixedText() ) . ".txt", + $text + ); } if ( $this->showDiff ) { - $this->output( wfDiff( $this->stripParameters( $output1->getText() ), $this->stripParameters( $output2->getText() ), '' ) ); + $this->output( wfDiff( + $this->stripParameters( $output1->getText() ), + $this->stripParameters( $output2->getText() ), + '' + ) ); } } else { $this->output( $title->getPrefixedText() . "\tOK\n" ); + if ( $this->showParsedOutput ) { $this->output( $this->stripParameters( $output1->getText() ) ); } @@ -149,10 +180,9 @@ class CompareParsers extends DumpIterator { /* Look for the parser in a file appropiately named in the current folder */ if ( !class_exists( $parserName ) && file_exists( "$parserName.php" ) ) { global $wgAutoloadClasses; - $wgAutoloadClasses[ $parserName ] = realpath( '.' ) . "/$parserName.php"; + $wgAutoloadClasses[$parserName] = realpath( '.' ) . "/$parserName.php"; } } - } $maintClass = "CompareParsers";