Update the rubric renderer
This commit is contained in:
@@ -10,6 +10,15 @@ class CombinedOpenEndedRubric:
|
||||
self.has_score = False
|
||||
self.view_only = view_only
|
||||
|
||||
'''
|
||||
render_rubric: takes in an xml string and outputs the corresponding
|
||||
html for that xml, given the type of rubric we're generating
|
||||
Input:
|
||||
rubric_xml: an string that has not been parsed into xml that
|
||||
represents this particular rubric
|
||||
Output:
|
||||
html: the html that corresponds to the xml given
|
||||
'''
|
||||
def render_rubric(self, rubric_xml):
|
||||
try:
|
||||
rubric_categories = self.extract_categories(rubric_xml)
|
||||
@@ -34,11 +43,9 @@ class CombinedOpenEndedRubric:
|
||||
{text: "Option 3 Name", points: 2]}]
|
||||
|
||||
'''
|
||||
if element.tag != 'rubric':
|
||||
raise Exception("[extract_categories] Expected a <rubric> tag: got {0} instead".format(element.tag))
|
||||
categorylist = list(element)
|
||||
element = etree.fromstring(element)
|
||||
categories = []
|
||||
for category in categorylist:
|
||||
for category in element:
|
||||
if category.tag != 'category':
|
||||
raise Exception("[extract_categories] Expected a <category> tag: got {0} instead".format(category.tag))
|
||||
else:
|
||||
|
||||
@@ -382,7 +382,8 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
|
||||
rubric_feedback=""
|
||||
feedback = self._convert_longform_feedback_to_html(response_items)
|
||||
if response_items['rubric_scores_complete']==True:
|
||||
rubric_feedback = CombinedOpenEndedRubric.render_rubric(response_items['rubric_xml'])
|
||||
rubric_renderer = CombinedOpenEndedRubric(True)
|
||||
rubric_feedback = rubric_renderer.render_rubric(response_items['rubric_xml'])
|
||||
|
||||
if not response_items['success']:
|
||||
return system.render_template("open_ended_error.html",
|
||||
|
||||
@@ -122,7 +122,9 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild):
|
||||
if self.state == self.INITIAL:
|
||||
return ''
|
||||
|
||||
rubric_html = CombinedOpenEndedRubric.render_rubric(self.rubric)
|
||||
rubric_renderer = CombinedOpenEndedRubric(True)
|
||||
|
||||
rubric_html = rubric_renderer.render_rubric(self.rubric)
|
||||
|
||||
# we'll render it
|
||||
context = {'rubric': rubric_html,
|
||||
|
||||
@@ -264,8 +264,7 @@ def _get_next(course_id, grader_id, location):
|
||||
response_json = json.loads(response)
|
||||
rubric = response_json['rubric']
|
||||
rubric_renderer = CombinedOpenEndedRubric(False)
|
||||
rubric_xml = etree.XML(rubric)
|
||||
rubric_html = rubric_renderer.render_rubric(rubric_xml)
|
||||
rubric_html = rubric_renderer.render_rubric(rubric)
|
||||
response_json['rubric'] = rubric_html
|
||||
return json.dumps(response_json)
|
||||
except GradingServiceError:
|
||||
|
||||
Reference in New Issue
Block a user