Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def do_import
- @feed = Feed.find(params[:id])
- # Clean this up...
- return if params[:feed_field].index('sku').blank?
- f = File.open(@feed.hard_file.path, 'r')
- line_ending = f.read(4096).scan(/(\r\n|\n|\r)/).first.first.to_s
- f.close
- @feed_rows = Array.new
- # Get five lines from the CSV file
- @bindings = Array.new
- FasterCSV.foreach(@feed.hard_file.path, :row_sep => line_ending) do |row|
- # Skip empty rows...
- next if row.empty?
- # @feed_rows << row
- sku = row[ params[:feed_field].index('sku').to_i ]
- # Don't want produts without a SKU
- next if sku.blank?
- product = Product.find_by_sku(sku) || Product.new
- product.feed_id = @feed.id
- params[:feed_field].each do |key, value|
- # Skip blank records
- next if value.blank? or row[params[:feed_field][key].to_i].blank?
- # logger.info "Key: #{key} Value: #{value}"
- # logger.info "Row Value: #{row[key.to_i]}"
- product.update_attribute(value, row[key.to_i])
- end
- product.save!
- @bindings << [row, product]
- end
Add Comment
Please, Sign In to add comment