Description:
added after_save_hook to ResultCollector
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r122:ed471e6e96ca - - 1 file changed: 15 inserted, 2 deleted

@@ -111,13 +111,13
111 111 if options[:dry_run] and (not ['prob','contest','autonew'].include? options[:mode])
112 112 puts "Dry run currently works only for 'prob' or 'contest' modes."
113 113 exit(0)
114 114 end
115 115
116 116 options[:report] = (ARGV.delete('--report') != nil)
117 - if options[:report] and (not ['prob','contest'].include? options[:mode])
117 + if options[:report] and (not ['prob','contest','autonew'].include? options[:mode])
118 118 puts "Report currently works only for 'prob' or 'contest' modes."
119 119 exit(0)
120 120 end
121 121
122 122 return options
123 123 end
@@ -126,20 +126,25
126 126 def initialize
127 127 @results = {}
128 128 @problems = {}
129 129 @users = {}
130 130 end
131 131
132 + def after_save_hook(user, problem, grading_result)
133 + end
134 +
132 135 def save(user, problem, grading_result)
133 136 if not @problems.has_key? problem.id
134 137 @problems[problem.id] = problem
135 138 end
136 139 if not @users.has_key? user.id
137 140 @users[user.id] = user
138 141 end
139 142 @results[[user.id, problem.id]] = grading_result
143 +
144 + after_save_hook(user, problem, grading_result)
140 145 end
141 146
142 147 def print_report_by_user
143 148 puts "---------------------"
144 149 puts " REPORT"
145 150 puts "---------------------"
@@ -199,17 +204,25
199 204 end
200 205 end
201 206
202 207 def grader_autonew_loop(grader_proc, options)
203 208 log "Grader: autonew"
204 209
210 + if options[:report]
211 + result_collector = ResultCollector.new
212 + else
213 + result_collector = nil
214 + end
215 +
205 216 if options[:dry_run]
206 217 puts "Running in dry mode"
207 218 end
208 219
209 - prob_reporter = Grader::SubmissionReporter.new(:dry_run => options[:dry_run])
220 + prob_reporter = Grader::SubmissionReporter.new(:dry_run => options[:dry_run],
221 + :result_collector => result_collector)
222 +
210 223 engine = Grader::Engine.new(:reporter => prob_reporter)
211 224 runner = Grader::Runner.new(engine, grader_proc)
212 225
213 226 grader_proc.report_active if grader_proc!=nil
214 227
215 228 latest_submitted_at = nil
You need to be logged in to leave comments. Login now