Hide linter in week 1 and 2 of Python course
This commit is contained in:
@ -92,5 +92,13 @@ module SubmissionScoring
|
||||
output.except!(:error_messages, :count, :failed, :filename, :message, :passed, :stderr, :stdout)
|
||||
end
|
||||
end
|
||||
|
||||
# Return all test results except for those of a linter if not allowed
|
||||
show_linter = Python20CourseWeek.show_linter? submission.exercise
|
||||
outputs&.reject do |output|
|
||||
next if show_linter || output.blank?
|
||||
|
||||
output[:file_role] == 'teacher_defined_linter'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
29
lib/python20_course_week.rb
Normal file
29
lib/python20_course_week.rb
Normal file
@ -0,0 +1,29 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Python20CourseWeek
|
||||
|
||||
def self.get_for(exercise)
|
||||
case exercise.title
|
||||
when /Python20 Aufgabe 1/
|
||||
1
|
||||
when /Python20 Aufgabe 2/
|
||||
2
|
||||
when /Python20 Aufgabe 3/
|
||||
3
|
||||
when /Python20 Aufgabe 4/
|
||||
4
|
||||
when /Python20 Snake/
|
||||
4
|
||||
else
|
||||
# Not part of the Python20 course
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
def self.show_linter?(exercise)
|
||||
week = get_for(exercise)
|
||||
return true if week.nil? # Exercise is not part of the experiment
|
||||
|
||||
[3, 4].include?(week)
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user