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(
$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
);
$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(
}
}
}
- $conds2 = array( 'img_name > ' . $dbw->addQuotes( $row->img_name ) );
+ $conds2 = [ 'img_name > ' . $dbw->addQuotes( $row->img_name ) ];
wfWaitForSlaves();
} while ( $res->numRows() === $this->mBatchSize );
* @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 ) {
$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() );
}