def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student. # might want to add grade-calculation like autograde in the config though.. draft = json.loads(draftstring) config = json.loads(configstring) draftval = draft['values'] confval = config['formValues'] points = 0 feedback = "<ul>\n" nr = 0 for i in xrange(0, len(confval)): if confval[i][0] == 'label': feedback += "</ul>\n" + markdown_full( confval[i][3]) + "\n<ul>\n" elif confval[i][0] == 'text': feedback += "</ul>\n" + markdown_full( draftval[nr]) + "\n<ul>\n" nr += 1 elif confval[i][0] == 'check': if draftval[nr]: points += int(confval[i][1]) val = int(confval[i][1]) if (val > 0): prefix = "+" else: prefix = u"\u2012" val = -val feedback += "<li>" + markdown_full("**" + prefix + str( val) + " points:** " + confval[i][3]) + "</li>\n" nr += 1 elif confval[i][0] == 'number': points += draftval[nr] val = int(draftval[nr]) if (val > 0): prefix = "+" else: prefix = u"\u2012" val = -val if val != 0: feedback += "<li>" + markdown_full("**" + prefix + str( val) + " points:** " + confval[i][3]) + "</li>\n" nr += 1 feedback += "</ul>\n" is_approved = False if points >= config['approvedLimit']: is_approved = True # Putting the feedback text and the full feedback together feedback = markdown_full(draft['feedback']) + "\n" + feedback return dict(is_passing_grade=is_approved, grade=points, points=points, rendered_view=feedback)
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student. # might want to add grade-calculation like autograde in the config though.. draft = json.loads(draftstring) config = json.loads(configstring) draftval = draft['values'] confval = config['formValues'] points = 0 feedback = "<ul>\n" nr = 0 for i in xrange(0, len(confval)): if confval[i][0] == 'label': feedback += "</ul>\n" + markdown_full(confval[i][3]) + "\n<ul>\n" elif confval[i][0] == 'text': feedback += "</ul>\n" + markdown_full(draftval[nr]) + "\n<ul>\n" nr += 1 elif confval[i][0]=='check': if draftval[nr]: points+=int(confval[i][1]) val = int(confval[i][1]) if(val > 0): prefix = "+" else: prefix = u"\u2012" val = - val feedback += "<li>" + markdown_full("**" + prefix + str(val) + " points:** " + confval[i][3]) + "</li>\n" nr += 1 elif confval[i][0] == 'number': points+=draftval[nr] val = int(draftval[nr]) if(val > 0): prefix = "+" else: prefix = u"\u2012" val = - val if val != 0: feedback += "<li>" + markdown_full("**" + prefix + str(val) + " points:** " + confval[i][3] ) + "</li>\n" nr += 1 feedback += "</ul>\n" is_approved = False if points >= config['approvedLimit']: is_approved = True # Putting the feedback text and the full feedback together feedback = markdown_full(draft['feedback']) + "\n" + feedback return dict(is_passing_grade=is_approved, grade=points, points=points, rendered_view=feedback)
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student. # might want to add grade-calculation like autograde in the config though.. draft = json.loads(draftstring) config = json.loads(configstring) draftval = draft['values'] confval = config['formValues'] points = 0 for i in xrange(0, len(draftval)): if confval[i][0]=='check': if draftval[i]: points+=int(confval[i][1]) elif confval[i][0] == 'number': points+=draftval[i] is_approved = False if points >= config['approvedLimit']: is_approved = True return dict(is_passing_grade=is_approved, grade=points, points=points, rendered_view=markdown_full(draft['feedback']))
def get_create_feedbackdraft_kwargs(self, form, publish): return { "feedbacktext_raw": form.cleaned_data["feedbacktext"], "feedbacktext_html": markdown_full(form.cleaned_data["feedbacktext"]), "publish": publish, "points": self.get_points_from_form(form), }
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student. # might want to add grade-calculation like autograde in the config though.. draft = json.loads(draftstring) config = json.loads(configstring) draftval = draft['values'] confval = config['formValues'] points = 0 for i in xrange(0, len(draftval)): if confval[i][0] == 'check': if draftval[i]: points += int(confval[i][1]) elif confval[i][0] == 'number': points += draftval[i] is_approved = False if points >= config['approvedLimit']: is_approved = True return dict(is_passing_grade=is_approved, grade=points, points=points, rendered_view=markdown_full(draft['feedback']))
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): draft = json.loads(draftstring) is_approved = draft['approved'] grade = _grade_from_is_passing_grade(is_approved) return dict(is_passing_grade=is_approved, grade=grade, points=int(is_approved), rendered_view=markdown_full(draft['feedback']))
def get_create_feedbackdraft_kwargs(self, form, publish): return { 'groups': form.cleaned_groups, 'feedbacktext_raw': form.cleaned_data['feedbacktext'], 'feedbacktext_html': markdown_full(form.cleaned_data['feedbacktext']), 'publish': publish, 'points': self.get_points_from_form(form) }
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): draft = json.loads(draftstring) is_approved = draft['approved'] if is_approved: grade = 'approved' else: grade = 'not approved' return dict(is_passing_grade=is_approved, grade=grade, points=int(is_approved), rendered_view=markdown_full(draft['feedback']))
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): draft = json.loads(draftstring) is_approved = draft['approved'] points = draft['points'] grade = draft['grade'] feedback = draft['feedback'] approved = 'not approved' if is_approved: approved = 'approved' return dict(is_passing_grade=is_approved, grade=grade, points=points, rendered_view=markdown_full(feedback))
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): buf = json.loads(draftstring) is_approved = buf[0] points = buf[1] grade = buf[2] feedback = buf[3] approved = 'not approved' if is_approved: approved = 'approved' return dict(is_passing_grade=is_approved, grade=grade, points=points, rendered_view=markdown_full(feedback))
def draft_to_staticfeedback_kwargs(cls, draftstring, configstring): config = cls.decode_configstring(configstring) buf = json.loads(draftstring) points = buf['points'] feedback = buf['feedback'] grade = cls.getGrade(points, config['grades']) is_approved = False if points >= config['approvedlimit']: is_approved = True return dict(is_passing_grade=is_approved, grade=grade, points=points, rendered_view=markdown_full(feedback))