X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/maintenance/checkImages.php diff --git a/maintenance/checkImages.php b/maintenance/checkImages.php index 96b93f22..3e573930 100644 --- a/maintenance/checkImages.php +++ b/maintenance/checkImages.php @@ -1,6 +1,6 @@ mDescription = "Check images to see if they exist, are readable, etc"; + $this->addDescription( 'Check images to see if they exist, are readable, etc' ); $this->setBatchSize( 1000 ); } public function execute() { $start = ''; - $dbr = wfGetDB( DB_SLAVE ); + $dbr = $this->getDB( DB_REPLICA ); $numImages = 0; $numGood = 0; + $repo = RepoGroup::singleton()->getLocalRepo(); do { - $res = $dbr->select( 'image', '*', array( 'img_name > ' . $dbr->addQuotes( $start ) ), - __METHOD__, array( 'LIMIT' => $this->mBatchSize ) ); + $res = $dbr->select( 'image', '*', [ 'img_name > ' . $dbr->addQuotes( $start ) ], + __METHOD__, [ 'LIMIT' => $this->mBatchSize ] ); foreach ( $res as $row ) { $numImages++; $start = $row->img_name; - $file = RepoGroup::singleton()->getLocalRepo()->newFileFromRow( $row ); + $file = $repo->newFileFromRow( $row ); $path = $file->getPath(); if ( !$path ) { $this->output( "{$row->img_name}: not locally accessible\n" ); continue; } - $stat = @stat( $file->getPath() ); - if ( !$stat ) { + $size = $repo->getFileSize( $file->getPath() ); + if ( $size === false ) { $this->output( "{$row->img_name}: missing\n" ); continue; } - if ( $stat['mode'] & 040000 ) { - $this->output( "{$row->img_name}: is a directory\n" ); - continue; - } - - if ( $stat['size'] == 0 && $row->img_size != 0 ) { + if ( $size == 0 && $row->img_size != 0 ) { $this->output( "{$row->img_name}: truncated, was {$row->img_size}\n" ); continue; } - if ( $stat['size'] != $row->img_size ) { - $this->output( "{$row->img_name}: size mismatch DB={$row->img_size}, actual={$stat['size']}\n" ); + if ( $size != $row->img_size ) { + $this->output( "{$row->img_name}: size mismatch DB={$row->img_size}, " + . "actual={$size}\n" ); continue; } $numGood++; } - } while ( $res->numRows() ); $this->output( "Good images: $numGood/$numImages\n" ); @@ -80,4 +81,4 @@ class CheckImages extends Maintenance { } $maintClass = "CheckImages"; -require_once( RUN_MAINTENANCE_IF_MAIN ); +require_once RUN_MAINTENANCE_IF_MAIN;