- def printRssItem(loc,item)\r
- if item.kind_of?(RSS::RDF::Item)\r
- @bot.say loc, item.title.chomp.riphtml.shorten(20) + " @ " + item.link\r
- else\r
- @bot.say loc, "#{item.pubDate.to_s.chomp+": " if item.pubDate}#{item.title.chomp.riphtml.shorten(20)+" :: " if item.title}#{" @ "+item.link.chomp if item.link}"\r
- end\r
- end\r
-\r
- def printFormattedRss(locs, item, type)\r
- locs.each { |loc|\r
- case type\r
- when 'amarokblog'\r
- @bot.say loc, "::#{item.category.content} just blogged at #{item.link}::"\r
- @bot.say loc, "::#{item.title.chomp.riphtml} - #{item.description.chomp.riphtml.shorten(60)}::"\r
- when 'amarokforum'\r
- @bot.say loc, "::Forum:: #{item.pubDate.to_s.chomp+": " if item.pubDate}#{item.title.chomp.riphtml+" :: " if item.title}#{" @ "+item.link.chomp if item.link}"\r
- when 'mediawiki'\r
- @bot.say loc, "::Wiki:: #{item.title} has been edited by #{item.dc_creator}. #{item.description.split("\n")[0].chomp.riphtml.shorten(60)} #{item.link} ::"\r
- debug "mediawiki #{item.title}"\r
- when "gmame"\r
- @bot.say loc, "::amarok-devel:: Message #{item.title} sent by #{item.dc_creator}. #{item.description.split("\n")[0].chomp.riphtml.shorten(60)}::"\r
+ def printFormattedRss(feed, item, opts=nil)\r
+ places = feed.watchers\r
+ handle = "::#{feed.handle}:: "\r
+ date = String.new\r
+ if opts\r
+ places = opts[:places] if opts.key?(:places)\r
+ handle = opts[:handle].to_s if opts.key?(:handle)\r
+ if opts.key?(:date) && opts[:date]\r
+ if item.respond_to?(:pubDate) \r
+ if item.pubDate.class <= Time\r
+ date = item.pubDate.strftime("%Y/%m/%d %H.%M.%S")\r
+ else\r
+ date = item.pubDate.to_s\r
+ end\r
+ elsif item.respond_to?(:date)\r
+ if item.date.class <= Time\r
+ date = item.date.strftime("%Y/%m/%d %H.%M.%S")\r
+ else\r
+ date = item.date.to_s\r
+ end\r
+ else\r
+ date = "(no date)"\r
+ end\r
+ date += " :: "\r
+ end\r
+ end\r
+ title = "#{Bold}#{item.title.chomp.riphtml}#{Bold}" if item.title\r
+ desc = item.description.gsub(/\s+/,' ').strip.riphtml.shorten(@bot.config['rss.text_max']) if item.description\r
+ link = item.link.chomp if item.link\r
+ places.each { |loc|\r
+ case feed.type\r
+ when 'blog'\r
+ @bot.say loc, "#{handle}#{date}#{item.category.content} blogged at #{link}"\r
+ @bot.say loc, "#{handle}#{title} - #{desc}"\r
+ when 'forum'\r
+ @bot.say loc, "#{handle}#{date}#{title}#{' @ ' if item.title && item.link}#{link}"\r
+ when 'wiki'\r
+ @bot.say loc, "#{handle}#{date}#{item.title} has been edited by #{item.dc_creator}. #{desc} #{link}"\r
+ when 'gmame'\r
+ @bot.say loc, "#{handle}#{date}Message #{title} sent by #{item.dc_creator}. #{desc}"\r
+ when 'trac'\r
+ @bot.say loc, "#{handle}#{date}#{title} @ #{link}"\r
+ unless item.title =~ /^Changeset \[(\d+)\]/\r
+ @bot.say loc, "#{handle}#{date}#{desc}"\r
+ end\r