def print_statuses(statuses, sort = true, time_format = nil)
return unless statuses and statuses.first
unless time_format
t0 = Time.now
t1 = Time.at(statuses.first[:epoch])
t2 = Time.at(statuses.last[:epoch])
time_format =
if [t0.year, t0.month, t0.day] == [t1.year, t1.month, t1.day] \
and [t1.year, t1.month, t1.day] == [t2.year, t2.month, t2.day]
'%H:%M:%S'
else
'%y/%m/%d %H:%M'
end
end
output_text = ''
user_login_ids = []
statuses.sort{|a, b| a.epoch <=> b.epoch}.each do |s|
text = s.text
user_login_ids << s.user_login_id unless user_login_ids.include?(s.user_login_id)
status_color = config.plugins.stdout.colors[user_login_ids.index(s.user_login_id) % config.plugins.stdout.colors.size]
status = "#{s.user.screen_name}: #{TermColor.escape(text)}"
time = "[wassr] [#{Time.at(s.epoch).strftime(time_format)}]"
id = s.id
source =
case s.source
when />(.*?)</ then $1
when 'web' then 'web'
end
erbed_text = ERB.new('<90><%=time%></90> <<%=status_color%>><%=status%></<%=status_color%>>').result(binding)
output_text << TermColor.parse(erbed_text) + "\n"
end
if config.plugins.stdout.enable_pager && ENV['LINES'] && statuses.size > ENV['LINES'].to_i
file = Tempfile.new('termtter')
file.print output_text
file.close
system "#{config.plugins.stdout.pager} #{file.path}"
file.close(true)
else
print output_text
end
end