From bed9135f401ce52cb4f740ab3c1c6d40abd07965 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Wed, 13 Jan 2016 22:46:03 +0100 Subject: [PATCH] Failed file upload shouldn't crash phpBB3 importer --- .../import_scripts/phpbb3/importers/attachment_importer.rb | 2 +- script/import_scripts/phpbb3/importers/avatar_importer.rb | 5 +++-- script/import_scripts/phpbb3/support/smiley_processor.rb | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/script/import_scripts/phpbb3/importers/attachment_importer.rb b/script/import_scripts/phpbb3/importers/attachment_importer.rb index e41ca7a12..37f7695c9 100644 --- a/script/import_scripts/phpbb3/importers/attachment_importer.rb +++ b/script/import_scripts/phpbb3/importers/attachment_importer.rb @@ -22,7 +22,7 @@ module ImportScripts::PhpBB3 filename = CGI.unescapeHTML(row[:real_filename]) upload = @uploader.create_upload(user_id, path, filename) - if upload.nil? || !upload.valid? + if upload.nil? || !upload.persisted? puts "Failed to upload #{path}" puts upload.errors.inspect if upload else diff --git a/script/import_scripts/phpbb3/importers/avatar_importer.rb b/script/import_scripts/phpbb3/importers/avatar_importer.rb index 3db8b7010..825bc445f 100644 --- a/script/import_scripts/phpbb3/importers/avatar_importer.rb +++ b/script/import_scripts/phpbb3/importers/avatar_importer.rb @@ -24,14 +24,15 @@ module ImportScripts::PhpBB3 filename = "avatar#{File.extname(path)}" upload = @uploader.create_upload(user.id, path, filename) - if upload.persisted? + if upload.present? && upload.persisted? user.import_mode = false user.create_user_avatar user.import_mode = true user.user_avatar.update(custom_upload_id: upload.id) user.update(uploaded_avatar_id: upload.id) else - Rails.logger.error("Could not persist avatar for user #{user.username}") + puts "Failed to upload avatar for user #{user.username}: #{path}" + puts upload.errors.inspect if upload end rescue SystemCallError => err Rails.logger.error("Could not import avatar for user #{user.username}: #{err.message}") diff --git a/script/import_scripts/phpbb3/support/smiley_processor.rb b/script/import_scripts/phpbb3/support/smiley_processor.rb index f79a24c46..1737e446c 100644 --- a/script/import_scripts/phpbb3/support/smiley_processor.rb +++ b/script/import_scripts/phpbb3/support/smiley_processor.rb @@ -65,7 +65,7 @@ module ImportScripts::PhpBB3 filename = File.basename(path) upload = @uploader.create_upload(Discourse::SYSTEM_USER_ID, path, filename) - if upload.nil? || !upload.valid? + if upload.nil? || !upload.persisted? puts "Failed to upload #{path}" puts upload.errors.inspect if upload html = nil