X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FrefreshImageMetadata.php;h=bdbb3478999614eecb27fefae3006fa14247a406;hb=220e11d65165aee4724a043fa0e0f27083f5865a;hp=8cb23fd528a55d843b50c50621d1554cd3d21c98;hpb=06db1a2335826d7da5da2a47ddec44a08094376d;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/refreshImageMetadata.php b/maintenance/refreshImageMetadata.php index 8cb23fd528..bdbb347899 100644 --- a/maintenance/refreshImageMetadata.php +++ b/maintenance/refreshImageMetadata.php @@ -44,7 +44,7 @@ class RefreshImageMetadata extends Maintenance { function __construct() { parent::__construct(); - $this->mDescription = 'Script to update image metadata records'; + $this->addDescription( 'Script to update image metadata records' ); $this->setBatchSize( 200 ); $this->addOption( @@ -68,9 +68,16 @@ class RefreshImageMetadata extends Maintenance { $this->addOption( 'start', 'Name of file to start with', false, true ); $this->addOption( 'end', 'Name of file to end with', false, true ); + $this->addOption( + 'mediatype', + 'Only refresh files with this media type, e.g. BITMAP, UNKNOWN etc.', + false, + true + ); $this->addOption( 'mime', - '(Inefficient!) Only refresh files with this mime type. Can accept wild-card image/*', + "Only refresh files with this MIME type. Can accept wild-card 'image/*'. " + . "Potentially inefficient unless 'mediatype' is also specified", false, true ); @@ -95,7 +102,7 @@ class RefreshImageMetadata extends Maintenance { $leftAlone = 0; $error = 0; - $dbw = wfGetDB( DB_MASTER ); + $dbw = $this->getDB( DB_MASTER ); if ( $this->mBatchSize <= 0 ) { $this->error( "Batch size is too low...", 12 ); } @@ -104,15 +111,15 @@ class RefreshImageMetadata extends Maintenance { $conds = $this->getConditions( $dbw ); // For the WHERE img_name > 'foo' condition that comes after doing a batch - $conds2 = array(); + $conds2 = []; if ( $start !== false ) { $conds2[] = 'img_name >= ' . $dbw->addQuotes( $start ); } - $options = array( + $options = [ 'LIMIT' => $this->mBatchSize, 'ORDER BY' => 'img_name ASC', - ); + ]; do { $res = $dbw->select( @@ -172,7 +179,7 @@ class RefreshImageMetadata extends Maintenance { } } } - $conds2 = array( 'img_name > ' . $dbw->addQuotes( $row->img_name ) ); + $conds2 = [ 'img_name > ' . $dbw->addQuotes( $row->img_name ) ]; wfWaitForSlaves(); } while ( $res->numRows() === $this->mBatchSize ); @@ -193,10 +200,11 @@ class RefreshImageMetadata extends Maintenance { * @return array */ function getConditions( $dbw ) { - $conds = array(); + $conds = []; $end = $this->getOption( 'end', false ); $mime = $this->getOption( 'mime', false ); + $mediatype = $this->getOption( 'mediatype', false ); $like = $this->getOption( 'metadata-contains', false ); if ( $end !== false ) { @@ -209,6 +217,9 @@ class RefreshImageMetadata extends Maintenance { $conds['img_minor_mime'] = $minor; } } + if ( $mediatype !== false ) { + $conds['img_media_type'] = $mediatype; + } if ( $like ) { $conds[] = 'img_metadata ' . $dbw->buildLike( $dbw->anyString(), $like, $dbw->anyString() ); }