Fixing some rubric score errors
This commit is contained in:
@@ -441,6 +441,10 @@ class CombinedOpenEndedV1Module():
|
||||
else:
|
||||
last_post_evaluation = task.format_feedback_with_evaluation(self.system, last_post_assessment)
|
||||
last_post_assessment = last_post_evaluation
|
||||
rubric_scores = task._parse_score_msg(task.history[-1].get('post_assessment', ""), self.system)['rubric_scores']
|
||||
elif task_type== "selfassessment":
|
||||
rubric_scores = last_post_assessment
|
||||
last_post_assessment = ""
|
||||
last_correctness = task.is_last_response_correct()
|
||||
max_score = task.max_score()
|
||||
state = task.state
|
||||
@@ -465,8 +469,9 @@ class CombinedOpenEndedV1Module():
|
||||
'correct': last_correctness,
|
||||
'min_score_to_attempt': min_score_to_attempt,
|
||||
'max_score_to_attempt': max_score_to_attempt,
|
||||
'rubric_scores' : rubric_scores,
|
||||
}
|
||||
|
||||
log.debug(last_response_dict)
|
||||
return last_response_dict
|
||||
|
||||
def update_task_states(self):
|
||||
|
||||
@@ -45,7 +45,9 @@ class CombinedOpenEndedRubric(object):
|
||||
return {'success' : success, 'html' : html, 'rubric_scores' : rubric_scores}
|
||||
|
||||
def check_if_rubric_is_parseable(self, rubric_string, location, max_score_allowed, max_score):
|
||||
success, rubric_feedback = self.render_rubric(rubric_string)
|
||||
rubric_dict = self.render_rubric(rubric_string)
|
||||
success = rubric_dict['success']
|
||||
rubric_feedback = rubric_dict['html']
|
||||
if not success:
|
||||
error_message = "Could not parse rubric : {0} for location {1}".format(rubric_string, location.url())
|
||||
log.error(error_message)
|
||||
|
||||
@@ -386,6 +386,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
|
||||
|
||||
rubric_feedback = ""
|
||||
feedback = self._convert_longform_feedback_to_html(response_items)
|
||||
rubric_scores = []
|
||||
if response_items['rubric_scores_complete'] == True:
|
||||
rubric_renderer = CombinedOpenEndedRubric(system, True)
|
||||
rubric_dict = rubric_renderer.render_rubric(response_items['rubric_xml'])
|
||||
@@ -428,7 +429,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
|
||||
correct: Correctness of submission (Boolean)
|
||||
score: Points to be assigned (numeric, can be float)
|
||||
"""
|
||||
fail = {'valid': False, 'score': 0, 'feedback': ''}
|
||||
fail = {'valid': False, 'score': 0, 'feedback': '', 'rubric_scores' : []}
|
||||
try:
|
||||
score_result = json.loads(score_msg)
|
||||
except (TypeError, ValueError):
|
||||
|
||||
@@ -257,6 +257,7 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild):
|
||||
|
||||
def save_hint(self, get, system):
|
||||
'''
|
||||
Not used currently, as hints have been removed from the system.
|
||||
Save the hint.
|
||||
Returns a dict { 'success': bool,
|
||||
'message_html': message_html,
|
||||
@@ -277,6 +278,15 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild):
|
||||
'message_html': self.get_message_html(),
|
||||
'allow_reset': self._allow_reset()}
|
||||
|
||||
def latest_post_assessment(self, system):
|
||||
latest_post_assessment = super(SelfAssessmentModule, self).latest_post_assessment(system)
|
||||
try:
|
||||
rubric_scores = json.loads(latest_post_assessment)
|
||||
except:
|
||||
log.error("Cannot parse rubric scores in self assessment module from {0}".format(latest_post_assessment))
|
||||
rubric_scores = []
|
||||
return [rubric_scores]
|
||||
|
||||
|
||||
class SelfAssessmentDescriptor(XmlDescriptor, EditingDescriptor):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user