From: Tom Hughes Date: Wed, 1 Aug 2007 15:15:06 +0000 (+0000) Subject: Some statistics improvements: X-Git-Tag: live~8827 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/500e6e687f2d8e87d0797fbd9373d84c7b24d628 Some statistics improvements: - Show top 50 GPX uploaders, not just top 10 - Show counts for editors again - Show all editors for the last day, not just top 60 --- diff --git a/script/statistics b/script/statistics index 13a26592a..50363dc32 100755 --- a/script/statistics +++ b/script/statistics @@ -32,11 +32,11 @@ begin puts "Number of ways with tags#{tagged_way_count}" puts "" - puts "

Top 10 users for uploads of GPS data

" + puts "

Top 50 users for uploads of GPS data

" puts "" puts "" - Trace.sum(:size, :group => :user_id, :order => "sum_size DESC", :limit => 10).each do |user, count| + Trace.sum(:size, :group => :user_id, :order => "sum_size DESC", :limit => 50).each do |user, count| display_name = User.find(user).display_name.gsub('@', ' at ').gsub('.', ' dot ') puts "" end @@ -76,18 +76,20 @@ begin puts "" day_users = OldNode.count(:conditions => "timestamp > NOW() - INTERVAL 1 DAY", - :group => :user_id, :order => "count_all DESC", :limit => 60) + :group => :user_id, :order => "count_all DESC") week_users = OldNode.count(:conditions => "timestamp > NOW() - INTERVAL 7 DAY", :group => :user_id, :order => "count_all DESC", :limit => 60) month_users = OldNode.count(:conditions => "timestamp > NOW() - INTERVAL 28 DAY", :group => :user_id, :order => "count_all DESC", :limit => 60) - day_users = day_users.keys.map { |u| User.find(u).display_name.gsub('@', ' at ').gsub('.', ' dot ') } - week_users = week_users.keys.map { |u| User.find(u).display_name.gsub('@', ' at ').gsub('.', ' dot ') } - month_users = month_users.keys.map { |u| User.find(u).display_name.gsub('@', ' at ').gsub('.', ' dot ') } - - SyncEnumerator.new(day_users, week_users, month_users).each do |day,week,month| - puts "" + SyncEnumerator.new(day_users, week_users, month_users).each do |row| + puts "" + row.each do |column| + display_name = User.find(column[0]).display_name.gsub('@', ' at ').gsub('.', ' dot ') + count = column[1] + puts "" + end + puts "" end puts "
UserNumber of Points
#{display_name}#{count}
DayWeekMonth
#{day}#{week}#{month}
#{count} #{display_name}
"