view extra/soundsoftware/get-statistics.rb @ 970:6bd8364eafae get_statistics

initial version of script to get stats from the site
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Fri, 19 Oct 2012 13:47:57 +0100
parents
children 30040a8e3a88
line wrap: on
line source
# this script will get stats from the repo and print them to stdout

# USAGE: 

# ./script/runner -e production extra/soundsoftware/get-statistics.rb 
#

d1 = Date.parse("20101201") # => 1 Dec 2010
d2 = Date.today

def months_between(d1, d2)
   months = []
   start_date = Date.civil(d1.year, d1.month, 1)
   end_date = Date.civil(d2.year, d2.month, 1)

   raise ArgumentError unless d1 <= d2

   while (start_date < end_date)
     months << start_date
     start_date = start_date >>1
   end

   months << end_date
end

def weeks_between(d1, d2)
   weeks = []
   start_date = Date.civil(d1.year, d1.month, 1)
   end_date = Date.civil(d2.year, d2.month, 1)

   raise ArgumentError unless d1 <= d2

   while (start_date < end_date)
     weeks << start_date
     start_date = start_date + 1.week
   end

   weeks << end_date
end


users = []
# dates = months_between(d1, d2)
dates = weeks_between(d1, d2)
private_projects = []
all_projects = []
public_projects = []
top_level_and_private_projects = []


dates.each do |date|
  users <<  User.find(:all, :conditions => {:created_on  => d1..date})
  all_projects <<  Project.find(:all, :conditions => {:created_on  => d1..date})
  private_projects <<  Project.find(:all, :conditions => {:created_on  => d1..date, 
                                                          :is_public => false})
  top_level_and_private_projects <<  Project.find(:all, :conditions => {:created_on  => d1..date,
                                                                        :is_public => false, 
                                                                        :parent_id => nil})

  puts "#{date} #{users.size} #{all_projects.size} #{private_projects.size} \n"

end








#nusers.each_with_index do |num, idx|
#  puts "#{dates[idx]} #{num}\n"
#end