From 0200a1c1133273c80801eaf3f7c0a1645a86c6ee Mon Sep 17 00:00:00 2001 From: Reedy Date: Fri, 9 Dec 2016 19:23:28 +0000 Subject: [PATCH] Make refreshImageMetadata not fail completely if it doesn't like a single file Change-Id: I1170cf91ba6dea08d35457c9859b8c18482d4aa6 --- maintenance/refreshImageMetadata.php | 70 ++++++++++++++++------------ 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/maintenance/refreshImageMetadata.php b/maintenance/refreshImageMetadata.php index df4ce56330..372c352846 100644 --- a/maintenance/refreshImageMetadata.php +++ b/maintenance/refreshImageMetadata.php @@ -139,45 +139,53 @@ class RefreshImageMetadata extends Maintenance { } foreach ( $res as $row ) { - // LocalFile will upgrade immediately here if obsolete - $file = $repo->newFileFromRow( $row ); - if ( $file->getUpgraded() ) { - // File was upgraded. - $upgraded++; - $newLength = strlen( $file->getMetadata() ); - $oldLength = strlen( $row->img_metadata ); - if ( $newLength < $oldLength - 5 ) { - // If after updating, the metadata is smaller then - // what it was before, that's probably not a good thing - // because we extract more data with time, not less. - // Thus this probably indicates an error of some sort, - // or at the very least is suspicious. Have the - 5 just - // to weed out any inconsequential changes. - $error++; - $this->output( "Warning: File:{$row->img_name} used to have " . - "$oldLength bytes of metadata but now has $newLength bytes.\n" ); - } elseif ( $verbose ) { - $this->output( "Refreshed File:{$row->img_name}.\n" ); - } - } else { - $leftAlone++; - if ( $force ) { - $file->upgradeRow(); + try { + // LocalFile will upgrade immediately here if obsolete + $file = $repo->newFileFromRow( $row ); + if ( $file->getUpgraded() ) { + // File was upgraded. + $upgraded++; $newLength = strlen( $file->getMetadata() ); $oldLength = strlen( $row->img_metadata ); if ( $newLength < $oldLength - 5 ) { + // If after updating, the metadata is smaller then + // what it was before, that's probably not a good thing + // because we extract more data with time, not less. + // Thus this probably indicates an error of some sort, + // or at the very least is suspicious. Have the - 5 just + // to weed out any inconsequential changes. $error++; - $this->output( "Warning: File:{$row->img_name} used to have " . - "$oldLength bytes of metadata but now has $newLength bytes. (forced)\n" ); - } - if ( $verbose ) { - $this->output( "Forcibly refreshed File:{$row->img_name}.\n" ); + $this->output( + "Warning: File:{$row->img_name} used to have " . + "$oldLength bytes of metadata but now has $newLength bytes.\n" + ); + } elseif ( $verbose ) { + $this->output( "Refreshed File:{$row->img_name}.\n" ); } } else { - if ( $verbose ) { - $this->output( "Skipping File:{$row->img_name}.\n" ); + $leftAlone++; + if ( $force ) { + $file->upgradeRow(); + $newLength = strlen( $file->getMetadata() ); + $oldLength = strlen( $row->img_metadata ); + if ( $newLength < $oldLength - 5 ) { + $error++; + $this->output( + "Warning: File:{$row->img_name} used to have " . + "$oldLength bytes of metadata but now has $newLength bytes. (forced)\n" + ); + } + if ( $verbose ) { + $this->output( "Forcibly refreshed File:{$row->img_name}.\n" ); + } + } else { + if ( $verbose ) { + $this->output( "Skipping File:{$row->img_name}.\n" ); + } } } + } catch ( Exception $e ) { + $this->output( "{$row->img_name} failed. {$e->getMessage()}\n" ); } } $conds2 = [ 'img_name > ' . $dbw->addQuotes( $row->img_name ) ]; -- 2.20.1