if watched_by?(who)\r
return nil\r
end\r
+ # TODO FIXME? should we just store watchers as Strings instead?\r
+ # This should then be @watchers << who.downcase\r
@watchers << who\r
return who\r
end\r
\r
BotConfig.register BotConfigIntegerValue.new('rss.thread_sleep',\r
:default => 300, :validate => Proc.new{|v| v > 30},\r
- :desc => "How many characters to use of a RSS item text")\r
+ :desc => "How many seconds to sleep before checking RSS feeds again")\r
\r
@@watchThreads = Hash.new\r
@@mutex = Mutex.new\r
rewatch_rss\r
end\r
\r
+ def name\r
+ "rss"\r
+ end\r
+\r
def watchlist\r
@feeds.select { |h, f| f.watched? }\r
end\r
def freshness_sort(items)\r
notime = Time.at(0)\r
items.sort { |a, b|\r
- itemDate(b, notime) <=> itemDate(a, notime)\r
+ itemDate(b, notime) || 0 <=> itemDate(a, notime) || 0\r
}\r
end\r
\r
}\r
if dispItems.length > 0\r
debug "Found #{dispItems.length} new items in #{feed}"\r
- dispItems.each { |item|\r
+ # When displaying watched feeds, publish them from older to newer\r
+ dispItems.reverse.each { |item|\r
@@mutex.synchronize {\r
printFormattedRss(feed, item)\r
}\r