J has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/60249


Change subject: (bug 47483) update file metadata in importImages
......................................................................

(bug 47483) update file metadata in importImages

importImages maintenance script was not updating file metadata
when overwriting files. Bring code in importImages in line with
LocalFile::upload

Bug: 47483
Change-Id: I0e879604ce76ed78708a36df46b58fb3b8a7d6d2
---
M maintenance/importImages.php
1 file changed, 18 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/49/60249/1

diff --git a/maintenance/importImages.php b/maintenance/importImages.php
index abc1b87..a0d712c 100644
--- a/maintenance/importImages.php
+++ b/maintenance/importImages.php
@@ -228,7 +228,23 @@
                if ( isset( $options['dry'] ) ) {
                        echo( " publishing {$file} by '" . $wgUser->getName() . 
"', comment '$commentText'... " );
                } else {
-                       $archive = $image->publish( $file );
+
+                       if ( $image->repo->isVirtualUrl( $file )
+                               || FileBackend::isStoragePath( $file ) )
+                       {
+                               $props = $image->repo->getFileProps( $file );
+                       } else {
+                               $props = FSFile::getPropsFromPath( $file );
+                       }
+                       $flags = 0;
+                       $options = array();
+                       $handler = MediaHandler::getHandler( $props['mime'] );
+                       if ( $handler ) {
+                               $options['headers'] = 
$handler->getStreamHeaders( $props['metadata'] );
+                       } else {
+                               $options['headers'] = array();
+                       }
+                       $archive = $image->publish( $file, $flags, $options );
                        if ( !$archive->isGood() ) {
                                echo( "failed. (" .
                                        $archive->getWikiText() .
@@ -245,7 +261,7 @@
 
                if ( isset( $options['dry'] ) ) {
                        echo( "done.\n" );
-               } elseif ( $image->recordUpload2( $archive->value, $summary, 
$commentText, false, $timestamp ) ) {
+               } elseif ( $image->recordUpload2( $archive->value, $summary, 
$commentText, $props, $timestamp ) ) {
                        # We're done!
                        echo( "done.\n" );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/60249
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0e879604ce76ed78708a36df46b58fb3b8a7d6d2
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: J <jger...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to