Commit a937413c56b617f6c925f6eb19b3f38dc42ec3f3

Authored by Luke Baker
1 parent 47c8d62e

re-indent prune_db rake file

Showing 1 changed file with 115 additions and 115 deletions   Show diff stats
lib/tasks/prune_db.rake
1 1 namespace :prune_db do
2   -
  2 +
3 3 task :all => [:invalidate_votes_with_bad_response_times]
4 4  
5 5 task(:invalidate_votes_with_bad_response_times => :environment) do
6   - badvotes = []
7   - #might want to optimize later to not start from the beginning each time
8   - STDOUT.sync = true
9   - Vote.find_each(:batch_size => 10000, :include => :appearance) do |v|
10   - next if v.nil? || v.appearance.nil?
11   - server_response_time = v.created_at.to_f - v.appearance.created_at.to_f
12   - if v.time_viewed && v.time_viewed/1000 > server_response_time
13   - badvotes << v
14   - print "."
15   - end
16   - end
17   - puts "\n"
18   -
19   - if badvotes.any?
20   -
21   - badvotes.each do |v|
22   - v.time_viewed = nil
23   - v.missing_response_time_exp = "invalid"
24   - v.save!
25   - end
26   - else
27   - puts "Could not find any bad votes. Yay."
28   - end
  6 + badvotes = []
  7 + #might want to optimize later to not start from the beginning each time
  8 + STDOUT.sync = true
  9 + Vote.find_each(:batch_size => 10000, :include => :appearance) do |v|
  10 + next if v.nil? || v.appearance.nil?
  11 + server_response_time = v.created_at.to_f - v.appearance.created_at.to_f
  12 + if v.time_viewed && v.time_viewed/1000 > server_response_time
  13 + badvotes << v
  14 + print "."
  15 + end
  16 + end
  17 + puts "\n"
  18 +
  19 + if badvotes.any?
  20 +
  21 + badvotes.each do |v|
  22 + v.time_viewed = nil
  23 + v.missing_response_time_exp = "invalid"
  24 + v.save!
  25 + end
  26 + else
  27 + puts "Could not find any bad votes. Yay."
  28 + end
29 29 end
30   -
  30 +
31 31 task(:associate_skips_with_appearances => :environment) do
32   - skips_to_fix = Skip.find(:all, :conditions => {:appearance_id => nil})
33   - skips_to_fix.each do |skip|
34   - puts "Skip #{skip.id} : "
35   - possible_appearances = skip.skipper.appearances.find(:all, :conditions => {:prompt_id => skip.prompt_id})
36   - if possible_appearances.nil? || possible_appearances.empty?
37   - puts " I couldn't find any matches!"
38   - skip.delete
39   - next
40   - end
41   - if possible_appearances.size > 1
42   - puts " More than one possible appearance"
43   - possible_appearances.delete_if{|a| a.answered?}
44   - if possible_appearances.size > 1 || possible_appearances.size == 0
45   - puts" And I couldn't narrow it down.... moving on"
46   - skip.delete
47   - next
48   - end
49   - end
50   - possible_appearance = possible_appearances.first
51   - if possible_appearance.answered?
52   - puts " This appearance has been answered already! Moving on"
53   - skip.delete
54   - else
55   - puts " MATCH"
56   - skip.appearance_id = possible_appearance.id
57   - skip.save!
58   - end
59   - end
  32 + skips_to_fix = Skip.find(:all, :conditions => {:appearance_id => nil})
  33 + skips_to_fix.each do |skip|
  34 + puts "Skip #{skip.id} : "
  35 + possible_appearances = skip.skipper.appearances.find(:all, :conditions => {:prompt_id => skip.prompt_id})
  36 + if possible_appearances.nil? || possible_appearances.empty?
  37 + puts " I couldn't find any matches!"
  38 + skip.delete
  39 + next
  40 + end
  41 + if possible_appearances.size > 1
  42 + puts " More than one possible appearance"
  43 + possible_appearances.delete_if{|a| a.answered?}
  44 + if possible_appearances.size > 1 || possible_appearances.size == 0
  45 + puts" And I couldn't narrow it down.... moving on"
  46 + skip.delete
  47 + next
  48 + end
  49 + end
  50 + possible_appearance = possible_appearances.first
  51 + if possible_appearance.answered?
  52 + puts " This appearance has been answered already! Moving on"
  53 + skip.delete
  54 + else
  55 + puts " MATCH"
  56 + skip.appearance_id = possible_appearance.id
  57 + skip.save!
  58 + end
  59 + end
60 60 end
61   -
  61 +
62 62 task(:move_vote_and_skip_ids_to_appearance => :environment) do
63   - #Vote.find_each do |v|
64   - # @appearance = Appearance.find(v.appearance_id)
65   -# @appearance.answerable = v
66   -# @appearance.save
67   -# if v.id % 1000 == 0
68   -# puts v.id
69   -# end
70   -# end
71   - Skip.find_each do |s|
72   - if s.appearance_id
73   - @appearance = Appearance.find(s.appearance_id)
74   -
75   - if @appearance.answerable
76   - puts "Appearance #{@appearance.id} has more than one skip!"
77   - else
78   - @appearance.answerable = s
79   - @appearance.save
80   - end
81   - end
  63 + #Vote.find_each do |v|
  64 + # @appearance = Appearance.find(v.appearance_id)
  65 + # @appearance.answerable = v
  66 + # @appearance.save
  67 + # if v.id % 1000 == 0
  68 + # puts v.id
  69 + # end
  70 + # end
  71 + Skip.find_each do |s|
  72 + if s.appearance_id
  73 + @appearance = Appearance.find(s.appearance_id)
  74 +
  75 + if @appearance.answerable
  76 + puts "Appearance #{@appearance.id} has more than one skip!"
  77 + else
  78 + @appearance.answerable = s
  79 + @appearance.save
  80 + end
82 81 end
  82 + end
83 83 end
84 84  
85 85 task(:remove_double_counted_votes_with_same_appearance => :environment) do
86 86  
87   - votes_with_no_appearance = []
88   - Vote.find_each(:include => :appearance) do |v|
89   - puts v.id if v.id % 1000 == 0
  87 + votes_with_no_appearance = []
  88 + Vote.find_each(:include => :appearance) do |v|
  89 + puts v.id if v.id % 1000 == 0
  90 +
  91 + votes_with_no_appearance << v if v.appearance.nil?
  92 + end
90 93  
91   - votes_with_no_appearance << v if v.appearance.nil?
92   - end
93   -
94   - skips_with_no_appearance = []
95   - Skip.find_each(:include => :appearance) do |s|
96   - puts s.id if s.id % 1000 == 0
  94 + skips_with_no_appearance = []
  95 + Skip.find_each(:include => :appearance) do |s|
  96 + puts s.id if s.id % 1000 == 0
97 97  
98   - skips_with_no_appearance << s if s.appearance.nil?
99   - end
  98 + skips_with_no_appearance << s if s.appearance.nil?
  99 + end
100 100  
101 101  
102   - puts "#{votes_with_no_appearance.size} Votes"
103   - puts "#{skips_with_no_appearance.size} Skips"
  102 + puts "#{votes_with_no_appearance.size} Votes"
  103 + puts "#{skips_with_no_appearance.size} Skips"
104 104  
105   - votes_with_no_appearance.each do |v|
106   - v.valid_record = false
107   - v.validity_information = "No associated appearance object"
108   - v.save!
109   - end
  105 + votes_with_no_appearance.each do |v|
  106 + v.valid_record = false
  107 + v.validity_information = "No associated appearance object"
  108 + v.save!
  109 + end
110 110  
111   - skips_with_no_appearance.each do |s|
112   - s.valid_record = false
113   - s.validity_information = "No associated appearance object"
114   - s.save!
115   - end
  111 + skips_with_no_appearance.each do |s|
  112 + s.valid_record = false
  113 + s.validity_information = "No associated appearance object"
  114 + s.save!
  115 + end
116 116  
117 117 end
118 118  
119 119 #call this by doing rake prune_db:populate_seed_ideas['blahblah',questionnum], where blahblah is the filename
120 120 task(:populate_seed_ideas, :args1, :args2, :needs => :environment) do | task, arguments|
121   - filename = arguments[:args1]
122   - question_num = arguments[:args2]
  121 + filename = arguments[:args1]
  122 + question_num = arguments[:args2]
123 123  
124   - puts filename
125   - puts question_num
  124 + puts filename
  125 + puts question_num
126 126  
127   - q = Question.find(question_num)
128   - creator_id = q.creator_id
  127 + q = Question.find(question_num)
  128 + creator_id = q.creator_id
129 129  
130   - File.open(filename, "r") do |infile|
131   - while( data= infile.gets)
132   - c = Choice.new(:creator_id => creator_id,
133   - :question_id => q.id,
134   - :active => true,
135   - :data => data.chomp)
  130 + File.open(filename, "r") do |infile|
  131 + while( data= infile.gets)
  132 + c = Choice.new(:creator_id => creator_id,
  133 + :question_id => q.id,
  134 + :active => true,
  135 + :data => data.chomp)
136 136  
137   - c.save
138   - end
139   - end
  137 + c.save
  138 + end
  139 + end
140 140  
141 141 end
142 142  
... ... @@ -147,12 +147,12 @@ namespace :prune_db do
147 147 question = Question.find(question_id)
148 148  
149 149 orphaned_votes = Vote.find(:all,
150   - :select => "votes.id",
151   - :joins => "LEFT JOIN appearances ON (votes.id = appearances.answerable_id AND answerable_type <> 'Skip')",
152   - :conditions => ["answerable_id IS NULL AND votes.valid_record = 1 AND votes.question_id = ?", question.id])
  150 + :select => "votes.id",
  151 + :joins => "LEFT JOIN appearances ON (votes.id = appearances.answerable_id AND answerable_type <> 'Skip')",
  152 + :conditions => ["answerable_id IS NULL AND votes.valid_record = 1 AND votes.question_id = ?", question.id])
153 153 puts "Question ##{question.id} has #{orphaned_votes.count} orphaned votes"
154 154 orphaned_votes.each do |orphaned_vote_id|
155   - orphaned_vote = Vote.find(orphaned_vote_id.id)
  155 + orphaned_vote = Vote.find(orphaned_vote_id.id)
156 156  
157 157 # attempt to find sibling vote
158 158 # sibling vote is one that is valid has the same voter and prompt,
... ...