From 6d813c2b5206d6a92ae1b90ab2a7206115effc07 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Sun, 12 Aug 2018 22:02:17 +0200 Subject: [PATCH] FIX: Importers failed to import avatars --- app/models/optimized_image.rb | 2 +- script/import_scripts/base/uploader.rb | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/models/optimized_image.rb b/app/models/optimized_image.rb index 23ae4823d8f..4b6c81aeb3f 100644 --- a/app/models/optimized_image.rb +++ b/app/models/optimized_image.rb @@ -122,7 +122,7 @@ class OptimizedImage < ActiveRecord::Base def self.prepend_decoder!(path) extension = File.extname(path)[1..-1] - raise Discourse::InvalidAccess unless extension[IM_DECODERS] + raise Discourse::InvalidAccess unless extension.present? && extension[IM_DECODERS] "#{extension}:#{path}" end diff --git a/script/import_scripts/base/uploader.rb b/script/import_scripts/base/uploader.rb index f9d3e135ff9..465d8d6796c 100644 --- a/script/import_scripts/base/uploader.rb +++ b/script/import_scripts/base/uploader.rb @@ -13,7 +13,7 @@ module ImportScripts UploadCreator.new(tmp, source_filename).create_for(user_id) rescue => e - puts "Failed to create upload: #{e}" + STDERR.puts "Failed to create upload: #{e}" nil ensure tmp.close rescue nil @@ -30,9 +30,11 @@ module ImportScripts user.user_avatar.update(custom_upload_id: upload.id) user.update(uploaded_avatar_id: upload.id) else - puts "Failed to upload avatar for user #{user.username}: #{avatar_path}" - puts upload.errors.inspect if upload + STDERR.puts "Failed to upload avatar for user #{user.username}: #{avatar_path}" + STDERR.puts upload.errors.inspect if upload end + rescue + STDERR.puts "Failed to create avatar for user #{user.username}: #{avatar_path}" ensure tempfile.close! if tempfile end @@ -59,6 +61,8 @@ module ImportScripts private def copy_to_tempfile(source_path) + # extension = File.extname(source_path) + # tmp = Tempfile.new(['discourse-upload', extension]) tmp = Tempfile.new('discourse-upload') File.open(source_path) do |source_stream|