class RefreshImageMetadata extends Maintenance {
/**
- * @var DatabaseBase
+ * @var Database
*/
protected $dbw;
$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
);
}
foreach ( $res as $row ) {
+ // LocalFile will upgrade immediately here if obsolete
$file = $repo->newFileFromRow( $row );
if ( $file->getUpgraded() ) {
// File was upgraded.
}
/**
- * @param DatabaseBase $dbw
+ * @param Database $dbw
* @return array
*/
function getConditions( $dbw ) {
$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() );
}