Physikerwelt has uploaded a new change for review. https://gerrit.wikimedia.org/r/197265
Change subject: Revert "Export the MathCache table" ...................................................................... Revert "Export the MathCache table" This reverts commit 6d21abf234a45040ddbf5c1fc3a49c85ef5d866f. Change-Id: I92cbcd57413d636ec9c80da61e4eb5d882f2c532 --- M MathRenderer.php D maintenance/ExportMathCache.php 2 files changed, 1 insertion(+), 96 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Math refs/changes/65/197265/1 diff --git a/MathRenderer.php b/MathRenderer.php index 71a06d1..905f026 100644 --- a/MathRenderer.php +++ b/MathRenderer.php @@ -249,7 +249,7 @@ * @param binary $hash * @return string md5 */ - public static function dbHash2md5( $hash ) { + private static function dbHash2md5( $hash ) { $dbr = wfGetDB( DB_SLAVE ); $xhash = unpack( 'H32md5', $dbr->decodeBlob( $hash ) . " " ); return $xhash['md5']; diff --git a/maintenance/ExportMathCache.php b/maintenance/ExportMathCache.php deleted file mode 100644 index 5b887d0..0000000 --- a/maintenance/ExportMathCache.php +++ /dev/null @@ -1,95 +0,0 @@ -<?php -/** - * - * 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 - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @ingroup Maintenance - */ - -require_once( dirname( __FILE__ ) . '/../../../maintenance/Maintenance.php' ); - -class ExportMathCache extends Maintenance { - const DEFAULT_TABLE = 'mathoid'; - const ERROR_CODE_TABLE_NAME = 1; - const ERROR_CODE_DB_ERROR = 2; - const ERROR_CODE_JSON = 3; - private static $allowedTables = array( 'mathoid' , 'mathlatexml'); - private static $inputColumns = array( 'mathoid' => 'math_input' , 'mathlatexml' => 'math_inputtex'); - - public function __construct() { - parent::__construct(); - $this->mDescription = 'Exports a json file that consists of the input hashes and the texvc input from the database cache.'; - $this->addArg( 'table', "The math table to be used (mathoid or latexml).", false ); - $this->addOption( 'offset', "If set the first n equations on the table are skipped", false, true, "o" ); - $this->addOption( 'length', "If set the only n equations are exported processed", false, true, "l" ); - $this->addOption( 'sort' , 'If set the result is sorted according to the input', false, false, 's' ); - } - - /** - * @param $table - * @param $offset - * @param $length - * @return bool|ResultWrapper - */ - private static function getMathTagsFromDatabase( $table , $offset , $length , $sort ) { - $out = array(); - $dbr = wfGetDB( DB_SLAVE ); - $inputColumn = self::$inputColumns[ $table ]; - $options = array( - 'OFFSET' => $offset, - 'LIMIT' => $length ); - if ( $sort === true ) { - $options['ORDER BY'] = $inputColumn; - } - $res = $dbr->select( - $table, - array( 'math_inputhash', $inputColumn ), - '' - , __METHOD__ - , $options ); - if ( $res === false ) return false; - // Convert result wrapper to array - foreach ( $res as $row ){ - $out[] = array( - // the binary encoded input-hash is no valid json output - 'inputhash' => MathRenderer::dbHash2md5($row->math_inputhash) , - 'input' => $row->$inputColumn ); - } - return $out; - } - - public function execute() { - $table = $this->getArg( 0, self::DEFAULT_TABLE ); - if( !in_array( $table, self::$allowedTables ) ){ - $this->error( "Error: '$table' is not allowed.", self::ERROR_CODE_TABLE_NAME ); - } - $offset = $this->getOption( 'offset', 0 ); - $length = $this->getOption( 'length', PHP_INT_MAX ); - $sort = $this->hasOption( 'sort' ); - $allEquations = self::getMathTagsFromDatabase( $table, $offset, $length, $sort ); - if ( !is_array( $allEquations ) ) { - $this->error("Could not get equations from table '$table'", self::ERROR_CODE_DB_ERROR ); - } - $out = FormatJson::encode( $allEquations, true ); - if( $out === false){ - $this->error( "Could not encode result as json string '$table'", self::ERROR_CODE_JSON ); - } - $this->output( "$out\n" ); - } -} - -$maintClass = "ExportMathCache"; -require_once( RUN_MAINTENANCE_IF_MAIN ); -- To view, visit https://gerrit.wikimedia.org/r/197265 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I92cbcd57413d636ec9c80da61e4eb5d882f2c532 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Math Gerrit-Branch: develop Gerrit-Owner: Physikerwelt <w...@physikerwelt.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits