def _autograde(sid=None, student_rownum=None, question_name=None, enforce_deadline=False, assignment_name=None, assignment_id=None, timezoneoffset=None): if assignment_id: assignment = db((db.assignments.id == assignment_id) & ( db.assignments.course == auth.user.course_id)).select().first() else: assignment = db((db.assignments.name == assignment_name) & ( db.assignments.course == auth.user.course_id)).select().first() if assignment: count = do_autograde(assignment, auth.user.course_id, auth.user.course_name, sid, student_rownum, question_name, enforce_deadline, timezoneoffset, db, settings) return { 'success': True, 'message': "autograded {} items".format(count), 'count': count } else: return { 'success': False, 'message': "Select an assignment before trying to autograde." }
def autograde(): ### This endpoint is hit to autograde one or all students or questions for an assignment sid = request.vars.get('sid', None) question_name = request.vars.get('question', None) enforce_deadline = request.vars.get('enforceDeadline', None) assignment_name = request.vars.assignment timezoneoffset = session.timezoneoffset if 'timezoneoffset' in session else None assignment = db( (db.assignments.name == assignment_name) & (db.assignments.course == auth.user.course_id)).select().first() if assignment: count = do_autograde(assignment, auth.user.course_id, auth.user.course_name, sid, question_name, enforce_deadline, timezoneoffset, db, settings) return json.dumps({'message': "autograded {} items".format(count)}) else: return json.dumps({'success': False, 'message': "Select an assignment before trying to autograde."})
from rs_grading import do_autograde, do_calculate_totals import json, datetime, sys userinfo = json.loads(os.environ['RSM_USERINFO']) # print(userinfo['course'], userinfo['pset']) # # print(db.keys()) # print(settings) assignmentid = userinfo['pset'] assignment = db(db.assignments.id == assignmentid).select().first() course = db(db.courses.course_name == userinfo['course']).select().first() do_autograde( assignment, course.id, course.course_name, sid=None, question_name=None, enforce_deadline=userinfo['enforce_deadline'], # I don't know what this is for, but if you want to set this to Michigan timezone offset, it should be 4 # not 5. timezoneoffset=240, db=db, settings=settings) do_calculate_totals(assignment, course.id, course.course_name, sid=None, db=db, settings=settings)
from rs_grading import do_autograde, do_calculate_totals import json userinfo = json.loads(os.environ['RSM_USERINFO']) # print(userinfo['course'], userinfo['pset']) # # print(db.keys()) # print(settings) assignmentid = userinfo['pset'] assignment = db(db.assignments.id == assignmentid).select().first() course=db(db.courses.course_name == userinfo['course']).select().first() do_autograde(assignment, course.id, course.course_name, sid=None, student_rownum=None question_name=None, enforce_deadline=userinfo['enforce_deadline'], # I don't know what this is for, but if you want to set this to Michigan timezone offset, it should be 4 # not 5. timezoneoffset=240, db=db, settings=settings) do_calculate_totals(assignment, course.id, course.course_name, sid=None, db=db, settings=settings)
from rs_grading import do_autograde, do_calculate_totals import json, datetime, sys userinfo = json.loads(os.environ['RSM_USERINFO']) # print(userinfo['course'], userinfo['pset']) # # print(db.keys()) # print(settings) assignmentid = userinfo['pset'] assignment = db(db.assignments.id == assignmentid).select().first() course = db(db.courses.course_name == userinfo['course']).select().first() do_autograde(assignment, course.id, course.course_name, sid=None, question_name=None, enforce_deadline=userinfo['enforce_deadline'], timezoneoffset=5, db=db, settings=settings) do_calculate_totals(assignment, course.id, course.course_name, sid=None, db=db, settings=settings)