Ejemplo n.º 1
0
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."
        }
Ejemplo n.º 2
0
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."})
Ejemplo n.º 3
0
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."})
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)