end\r
end\r
\r
+ def itemDate(item,ex=nil)\r
+ return item.pubDate if item.respond_to?(:pubDate)\r
+ return item.date if item.respond_to?(:date)\r
+ return ex\r
+ end\r
+\r
def freshness_sort(items)\r
notime = Time.at(0)\r
- items.sort { |a, b| (b.pubDate || notime) <=> (a.pubDate || notime) }\r
+ items.sort { |a, b|\r
+ itemDate(b, notime) <=> itemDate(a, notime)\r
+ }\r
end\r
\r
def list_rss(m, params)\r
if opts\r
places = opts[:places] if opts.key?(:places)\r
handle = opts[:handle].to_s if opts.key?(:handle)\r
- date = item.pubDate.strftime("%Y/%m/%d %H.%M.%S") + " :: " if (opts.key?(:date) && opts[:date] && item.pubDate)\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