Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace :conway do
- desc "Loads the new banner_rotator models from old YAML file"
- task :convert => :environment do
- require 'yaml'
- require 'net/http'
- ## clear the database tables
- print "Scrubbing database tables..."
- Banner.destroy_all
- BannerPlacement.destroy_all
- puts "done."
- ## get the old CMS YAML file from SVN
- svn_root = "svn-freight.con-way.com"
- svn_file = "/eweb/trunk/rails/cms/config/banner_rotating.yml"
- svn_user = "readonly"
- svn_pass = "read123"
- http = Net::HTTP.start("#{svn_root}")
- req = Net::HTTP::Get.new("#{svn_file}")
- req.basic_auth svn_user, svn_pass
- response = http.request(req)
- ## Load database tables from old CMS YAML file
- YAML.load(response.body).each do |section|
- site_section = section[0].capitalize
- puts "Loading #{site_section} banners:"
- section[0] == 'home' ? slug = '/' : slug = section[0]
- banners = section[1]
- page = Page.find_by_slug(slug)
- # @banners.each do |banner|
- # @new_banner = Banner.new
- # @banner_data = banner[1]
- # print ' ' + @new_banner.name = "#{@site_section}-#{banner[0]}"
- # @new_banner.background_image = @banner_data['banner']
- # @new_banner.foreground_image = @banner_data['promo']
- # @new_banner.link_url = @banner_data['link']
- # @new_banner.link_target = @banner_data['target']
- # if !@banner_data['promo_left'].blank? then @new_banner.image_style = "left: #{@banner_data['promo_left']};" end
- # ## get banner weight and remove duplicates from @banners
- #
- # @weight = 0
- # @banners.each do |ban|
- # if ban[1]['banner'] == @new_banner.background_image
- # @weight += 1
- # @banners.delete(ban[0])
- # end
- # end
- # puts " with weight of #{@weight}"
- # @new_banner.placements = [ {:page_id => @page.id, :weight => @weight} ]
- # @new_banner.save
- # end
- new_banner_hash = banners.inject({}) do |banner_hash, banner|
- banner_data = banner[1]
- bg_image = banner_data['banner']
- puts bg_image
- banner_hash[bg_image] ||= {}
- banner_hash[bg_image][:weight] ||= 0
- banner_hash[bg_image][:weight] += 1
- banner_hash[bg_image][:background_image] = bg_image
- banner_hash[bg_image][:foreground_image] = banner_data['promo']
- banner_hash[bg_image][:link_url] = banner_data['link']
- banner_hash[bg_image][:link_target] = banner_data['target']
- unless banner_data['promo_left'].blank? then banner_hash[bg_image][:image_style] = "left: #{banner_data['promo_left']};" end
- end
- puts new_banner_hash.inspect
- new_banner_hash.each do |banner|
- new_banner = Banner.new
- end
- puts 'done.'
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement