Mercurial > hg > soundsoftware-site
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