Sha256: 6f0dacba8f128c51cefe55edf272d395259fb796e2bdba02b76811bd955d0de1

Contents?: true

Size: 1.25 KB

Versions: 6

Compression:

Stored size: 1.25 KB

Contents

require 'rubygems'
require 'simple-rss'
require 'open-uri'
require 'htmlentities'
require 'string'

class ReportsTasks

  def self.parse_reuters_technology_rss domain = 'piousbox.com'
    site = Site.where( :lang => 'en', :domain => domain ).first
    return false if site.blank?    
    
    feed_addr = 'http://feeds.reuters.com/reuters/technologyNews'
    rss = SimpleRSS.parse open(feed_addr)
    # puts! rss.channel.title
    # puts! rss.channel.link
    item = rss.items.first

    r = Report.new :name => item.title, :name_seo => item.title.to_simple_string
    r.descr = HTMLEntities.new.decode( item.description ) + "<br />\nRead full article at <a href=\"#{item.link}\">#{item.link}</a>"
    # r.tag = Tag.where( :name_seo => 'technology' ).first
    r.user = User.where( :username => 'anon' ).first
    flag = r.save
    if flag
      # puts "Saved report #{r.name}" unless Rails.env.test

      # for homepage
      n = Newsitem.new
      n.report = r
      
      site.newsitems << n
      site.save
      
    else
      puts!(r.errors.messages)
    end
  end

  def self.empty_trash
    rs = Report.where( :is_trash => true)
    rs.each do |r|
      puts "Removed #{r.name}"
      r.remove
    end
  end

end

def puts! args
  puts '+++ +++'
  puts args.inspect
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
ish_lib-0.0.8 lib/reports_tasks.rb
ish_lib_engine-0.0.5 lib/reports_tasks.rb
ish_lib_engine-0.0.3 lib/reports_tasks.rb
ish_lib_engine-0.0.2 lib/reports_tasks.rb
ish_lib_engine-0.0.1 lib/reports_tasks.rb
ish_lib-0.0.3 lib/reports_tasks.rb