Skip to content

Instantly share code, notes, and snippets.

@sipple
Created November 1, 2012 14:21
Show Gist options
  • Select an option

  • Save sipple/3993899 to your computer and use it in GitHub Desktop.

Select an option

Save sipple/3993899 to your computer and use it in GitHub Desktop.
For those migrating to Radiant CMS 1.0 who used Paperclipped Extension, here's rake task to migrate images from the Paperclipped folder structure to the new Clipped extension folder structure.
require 'fileutils'
namespace :clipped do
desc "Migrate assets from Paperclipped to Clipped"
task :migrate => [:environment] do
skippable_entries = [".", "..", ".DS_Store"]
new_assets_dir = "public/system/assets"
dir = Dir.new("public/assets")
dir.entries.each do |entry|
next if skippable_entries.include?(entry)
FileUtils.mkdir("#{new_assets_dir}/#{entry}") unless File.directory?("#{new_assets_dir}/#{entry}")
Dir.new("#{dir.path}/#{entry}").entries.each do |asset|
next if skippable_entries.include?(asset)
puts "Copying #{dir.path}/#{entry}/#{asset}"
if asset.include?("_thumbnail.")
FileUtils.mkdir("#{new_assets_dir}/#{entry}/thumbnail") unless File.directory?("#{new_assets_dir}/#{entry}/thumbnail")
FileUtils.copy("#{dir.path}/#{entry}/#{asset}","#{new_assets_dir}/#{entry}/thumbnail/")
elsif asset.include?("_icon.")
FileUtils.mkdir("#{new_assets_dir}/#{entry}/icon") unless File.directory?("#{new_assets_dir}/#{entry}/icon")
FileUtils.copy("#{dir.path}/#{entry}/#{asset}","#{new_assets_dir}/#{entry}/icon/")
elsif asset.include?("_normal.")
FileUtils.mkdir("#{new_assets_dir}/#{entry}/normal") unless File.directory?("#{new_assets_dir}/#{entry}/normal")
FileUtils.copy("#{dir.path}/#{entry}/#{asset}","#{new_assets_dir}/#{entry}/normal/")
else
FileUtils.mkdir("#{new_assets_dir}/#{entry}/original") unless File.directory?("#{new_assets_dir}/#{entry}/original")
FileUtils.copy("#{dir.path}/#{entry}/#{asset}","#{new_assets_dir}/#{entry}/original/")
ext = File.extname(asset)
asset_without_ext = asset.gsub(ext, "")
FileUtils.mkdir("#{new_assets_dir}/#{entry}/native") unless File.directory?("#{new_assets_dir}/#{entry}/native")
FileUtils.copy("#{dir.path}/#{entry}/#{asset}","#{new_assets_dir}/#{entry}/native/#{asset_without_ext}_native#{ext}")
end
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment