FIX: mbox importer and rake task were broken

This commit is contained in:
Gerhard Schlager 2018-10-17 16:04:43 +02:00
parent f60b10d090
commit ee18d9ace0
2 changed files with 14 additions and 10 deletions

View File

@ -890,12 +890,12 @@ module Email
def create_post_with_attachments(options = {})
# deal with attachments
options[:raw] = add_attachments(options[:raw], options[:user], options)
options[:raw] = add_attachments(options[:raw], options[:user].id, options)
create_post(options)
end
def add_attachments(raw, user, options = {})
def add_attachments(raw, user_id, options = {})
rejected_attachments = []
attachments.each do |attachment|
tmp = Tempfile.new(["discourse-email-attachment", File.extname(attachment.filename)])
@ -904,7 +904,7 @@ module Email
File.open(tmp.path, "w+b") { |f| f.write attachment.body.decoded }
# create the upload for the user
opts = { for_group_message: options[:is_group_message] }
upload = UploadCreator.new(tmp, attachment.filename, opts).create_for(user.id)
upload = UploadCreator.new(tmp, attachment.filename, opts).create_for(user_id)
if upload&.valid?
# try to inline images
if attachment.content_type&.start_with?("image/")

View File

@ -93,13 +93,17 @@ module ImportScripts::Mbox
next if all_records_exist?(:posts, rows.map { |row| row['msg_id'] })
create_posts(rows, total: total_count, offset: offset) do |row|
if row['email_date'].blank?
puts "Date is missing. Skipping #{row['msg_id']}"
nil
elsif row['in_reply_to'].blank?
map_first_post(row)
else
map_reply(row)
begin
if row['email_date'].blank?
puts "Date is missing. Skipping #{row['msg_id']}"
nil
elsif row['in_reply_to'].blank?
map_first_post(row)
else
map_reply(row)
end
rescue => e
puts "Failed to map post for #{row['msg_id']}", e, e.backtrace.join("\n")
end
end
end