From 473bb817e8d89a32021142aa04e3d7b7a58a2b96 Mon Sep 17 00:00:00 2001 From: kimth Date: Fri, 3 Aug 2012 14:34:48 -0400 Subject: [PATCH] File objects passed to responsetype only if responsetype explicitly allows filesubmissions --- common/lib/capa/capa/capa_problem.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/common/lib/capa/capa/capa_problem.py b/common/lib/capa/capa/capa_problem.py index bdfbbab73d..d5f45831ee 100644 --- a/common/lib/capa/capa/capa_problem.py +++ b/common/lib/capa/capa/capa_problem.py @@ -230,11 +230,16 @@ class LoncapaProblem(object): ''' self.student_answers = convert_files_to_filenames(answers) + oldcmap = self.correct_map # old CorrectMap newcmap = CorrectMap() # start new with empty CorrectMap # log.debug('Responders: %s' % self.responders) - for responder in self.responders.values(): - results = responder.evaluate_answers(answers, oldcmap) # call the responsetype instance to do the actual grading + for responder in self.responders.values(): # Call each responsetype instance to do actual grading + if 'filesubmission' in responder.allowed_inputfields: # File objects are passed only if responsetype + # explicitly allows for file submissions + results = responder.evaluate_answers(answers, oldcmap) + else: + results = responder.evaluate_answers(convert_files_to_filenames(answers), oldcmap) newcmap.update(results) self.correct_map = newcmap # log.debug('%s: in grade_answers, answers=%s, cmap=%s' % (self,answers,newcmap))