Fixing occurrance count and error reporting in attachments

This commit is contained in:
Will Bradley 2014-03-06 18:20:09 -07:00
parent 4b36eaeccf
commit c06bc8142d
2 changed files with 32 additions and 12 deletions

View File

@ -99,14 +99,26 @@ namespace :wordpress do
Rake::Task["environment"].invoke Rake::Task["environment"].invoke
dump = WordPressImport::Dump.new(params[:file_name]) dump = WordPressImport::Dump.new(params[:file_name])
p "Importing #{dump.attachments.each_slice(25).first.count} attachments ..." p "Importing #{dump.attachments.each_slice(200).first.count} attachments ..."
attachments = dump.attachments.each_slice(25).first.each(&:to_rails) attachments = dump.attachments.each_slice(200).first.each(&:to_rails)
p "Errors were encountered: #{$ATTACHMENT_EXCEPTIONS.inspect}" unless $ATTACHMENT_EXCEPTIONS.blank? unless $ATTACHMENT_EXCEPTIONS.blank?
p "----------------------------------------------------------"
p "ERRORS WERE ENCOUNTERED IMPORTING ATTACHMENTS:"
$ATTACHMENT_EXCEPTIONS.each{|exception| puts exception}
p "----------------------------------------------------------"
end
# parse all created Post and Page bodys and replace the old wordpress media urls # parse all created Post and Page bodys and replace the old wordpress media urls
# with the newly created ones # with the newly created ones
p "Replacing attachment URLs found in posts/pages ..." p "Replacing attachment URLs found in posts/pages ..."
attachments.each(&:replace_url) attachments.each(&:replace_url)
unless $REPLACEMENT_EXCEPTIONS.blank?
p "----------------------------------------------------------"
p "ERRORS WERE ENCOUNTERED REPLACING ATTACHMENTS:"
$REPLACEMENT_EXCEPTIONS.each{|exception| puts exception}
p "----------------------------------------------------------"
end
end end
desc "reset media tables and then import media data from a WordPress XML dump" desc "reset media tables and then import media data from a WordPress XML dump"

View File

@ -47,7 +47,7 @@ module WordPressImport
else else
to_file to_file
end end
rescue Exception => ex rescue StandardError => ex
message = "ERROR saving attachment #{url} -- #{ex.message}" message = "ERROR saving attachment #{url} -- #{ex.message}"
p message p message
$ATTACHMENT_EXCEPTIONS = [] if $ATTACHMENT_EXCEPTIONS.blank? $ATTACHMENT_EXCEPTIONS = [] if $ATTACHMENT_EXCEPTIONS.blank?
@ -57,13 +57,21 @@ module WordPressImport
end end
def replace_url def replace_url
@occurrance_count = 0 begin
if image? @occurrance_count = 0
replace_image_url if image?
else replace_image_url
replace_resource_url else
replace_resource_url
end
p "Replaced #{@occurrance_count} occurrances of #{url}"
rescue StandardError => ex
message = "ERROR replacing URL #{url} -- #{ex.message}"
p message
$REPLACEMENT_EXCEPTIONS = [] if $REPLACEMENT_EXCEPTIONS.blank?
$REPLACEMENT_EXCEPTIONS << message
return nil
end end
p "Replaced #{@occurrance_count} occurrances of #{url}"
end end
private private
@ -146,7 +154,7 @@ module WordPressImport
def replace_url_in_blog_posts(new_url) def replace_url_in_blog_posts(new_url)
::Post.all.each do |post| ::Post.all.each do |post|
if (! post.body.empty?) && post.body.include?(url) if (! post.body.empty?) && post.body.include?(url)
@occurrance_count++ @occurrance_count += 1
post.body = post.body.gsub(url_pattern, new_url) post.body = post.body.gsub(url_pattern, new_url)
post.save! post.save!
end end
@ -158,7 +166,7 @@ module WordPressImport
page.translations.each do |translation| page.translations.each do |translation|
translation.parts.each do |part| translation.parts.each do |part|
if (! part.content.to_s.blank?) && part.content.include?(url) if (! part.content.to_s.blank?) && part.content.include?(url)
@occurrance_count++ @occurrance_count += 1
part.content = part.content.gsub(url_pattern, new_url) part.content = part.content.gsub(url_pattern, new_url)
part.save! part.save!
end end