def whole_submission(assignment, username, by_section): """by_section should be True or False, whether or not to get the first/last by section or not""" solution = queries.get_submission(username, assignment) studentsolution = solution[0] autograder_output = solution[1] grade = solution[2] fullprevcomments = queries.get_all_past_comments() linenumbers = makelinenumbers(studentsolution) if(by_section): section = queries.get_section(username) students = queries.who_turned_in_by_section(assignment, section) else: students = queries.who_turned_in(assignment) p,n = find_prev_next(students, username) thecomments = dictify(queries.get_student_commentids(username, assignment)) return template("grade_whole", source=studentsolution, past_comments=list(map(lambda pair: pair[1], fullprevcomments)), existingcomments=thecomments, linenumbers=linenumbers, autograder=autograder_output, student=username, assignment=assignment, nextstudent=n, prevstudent=p, default_grade=get_grade(username, assignment, None), grades=possible_grades())
def submission_report(assignment, username): submission,autograder,grade = queries.get_report(assignment, username) comments = queries.get_submission_comments(assignment, username) students = queries.who_turned_in(assignment) p,n = grading.find_prev_next(students, username) ## just in case. submission.replace("\r", "") sourcelines = submission.split("\n") return template("gradingreport", prevstudent=p, nextstudent=n, student=username, assignment=assignment, sourcelines=sourcelines, grade=grade, autograder=autograder, linenumbers=grading.makelinenumbers(submission), existingcomments=comments)
def submission_report_choice(aid): return template("username_selection", usernames=queries.who_turned_in(aid), target="", title="View a Report")