changeset 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 64d990177cda
children b80f97c892bc 30040a8e3a88
files extra/soundsoftware/get-statistics.rb
diffstat 1 files changed, 78 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/soundsoftware/get-statistics.rb	Fri Oct 19 13:47:57 2012 +0100
@@ -0,0 +1,78 @@
+# 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
+
+
+
+ 
+