require 'csv' namespace :cccms do desc "Setup everythin" task :setup_environment => [:create_admin_user, :import_updates, :create_home_page] do |t| end desc "Create admin:foobar user:password" task :create_admin_user => :environment do |t| User.create!( :login => 'admin', :email => 'admin@cccms.de', :password => 'foobar', :password_confirmation => 'foobar' ) end desc "Import the authors" task :import_authors => :environment do |t| I18n.locale = :en @parsed_file = CSV::Reader.parse(File.open("#{RAILS_ROOT}/db/authors.csv")) @parsed_file.each_with_index do |row, index| next if row[0].nil? unless author = User.find_by_login(row[0]) puts "#{row[0]} >> #{row[2]}" author = User.create!( :login => row[0], #:realname => row[1], :email => row[2], :password => "foobartrallala", :password_confirmation => "foobartrallala" ) end end end desc "Import the old XML Files" task :import_updates => :environment do |t| i = UpdateImporter.new("#{RAILS_ROOT}/db/updates") i.import_xml end desc "Create Home Page" task :create_home_page => :environment do |t| n = Node.create :slug => 'home' n.move_to_child_of Node.root d = n.draft d.title = "Startseite" d.abstract = "Wilkommen auf der Seite des CCC" d.body = "Hier gibts content" d.save n.publish_draft! end desc "Convert Entities to real charactes" task :convert_entities => :environment do |t| Page.all.each do |page| if page.body && page.body != "" puts ">> #{page.id} -- #{page.node.unique_name if page.node}" tmp_body = page.body.dup tmp_body.gsub!(/ä/, "ä") tmp_body.gsub!(/ö/, "ö") tmp_body.gsub!(/ü/, "ü") tmp_body.gsub!(/Ä/, "ä") tmp_body.gsub!(/Ö/, "ö") tmp_body.gsub!(/Ü/, "ü") tmp_body.gsub!(/ß/, "ß") tmp_body.gsub!(/ /, " ") tmp_body.gsub!(/–/, "–") tmp_body.gsub!(/µ/, "µ") tmp_body.gsub!(/³/, "³") tmp_body.gsub!(/é/, "é") tmp_body.gsub!(/§/, "§") tmp_body.gsub!(/“/, "“") tmp_body.gsub!(/”/, "”") tmp_body.gsub!(/„/, "„") page.body = tmp_body page.save end end end end