autograder.model.assignment

 1import typing
 2
 3import edq.util.time
 4import lms.model.assignments
 5import lms.model.scores
 6import lms.model.users
 7
 8def make_assignment(raw_data: typing.Dict[str, typing.Any]) -> lms.model.assignments.Assignment:
 9    """
10    Create an LMS Toolkit assignment from raw data coming from the autograder.
11    The raw data from the server should be a core.AssignmentInfo.
12    """
13
14    raw_due_date = raw_data.get('due-date', None)
15    if (raw_due_date is not None):
16        raw_due_date = edq.util.time.Timestamp(int(raw_due_date))
17
18    data = {
19        'id': raw_data['id'],
20        'name': raw_data['name'],
21        'points_possible': raw_data.get('max-points', None),
22        'due_date': raw_due_date,
23    }
24
25    return lms.model.assignments.Assignment(**data)
26
27def make_assignment_score(raw_data: typing.Dict[str, typing.Any]) -> lms.model.scores.AssignmentScore:
28    """
29    Create an LMS Toolkit assignment score from raw data coming from the autograder.
30    The raw data from the server should be a model.SubmissionHistoryItem.
31    """
32
33    data = {
34        'id': raw_data['id'],
35        'score': raw_data['score'],
36        'submission_date': edq.util.time.Timestamp(int(raw_data['grading_start_time'])),
37        'graded_date': edq.util.time.Timestamp(int(raw_data['grading_start_time'])),
38        'comment': raw_data['message'],
39        'assignment': lms.model.assignments.AssignmentQuery(id = raw_data['assignment-id']),
40        'user': lms.model.users.UserQuery(email = raw_data['user']),
41    }
42
43    return lms.model.scores.AssignmentScore(**data)
def make_assignment(raw_data: Dict[str, Any]) -> lms.model.assignments.Assignment:
 9def make_assignment(raw_data: typing.Dict[str, typing.Any]) -> lms.model.assignments.Assignment:
10    """
11    Create an LMS Toolkit assignment from raw data coming from the autograder.
12    The raw data from the server should be a core.AssignmentInfo.
13    """
14
15    raw_due_date = raw_data.get('due-date', None)
16    if (raw_due_date is not None):
17        raw_due_date = edq.util.time.Timestamp(int(raw_due_date))
18
19    data = {
20        'id': raw_data['id'],
21        'name': raw_data['name'],
22        'points_possible': raw_data.get('max-points', None),
23        'due_date': raw_due_date,
24    }
25
26    return lms.model.assignments.Assignment(**data)

Create an LMS Toolkit assignment from raw data coming from the autograder. The raw data from the server should be a core.AssignmentInfo.

def make_assignment_score(raw_data: Dict[str, Any]) -> lms.model.scores.AssignmentScore:
28def make_assignment_score(raw_data: typing.Dict[str, typing.Any]) -> lms.model.scores.AssignmentScore:
29    """
30    Create an LMS Toolkit assignment score from raw data coming from the autograder.
31    The raw data from the server should be a model.SubmissionHistoryItem.
32    """
33
34    data = {
35        'id': raw_data['id'],
36        'score': raw_data['score'],
37        'submission_date': edq.util.time.Timestamp(int(raw_data['grading_start_time'])),
38        'graded_date': edq.util.time.Timestamp(int(raw_data['grading_start_time'])),
39        'comment': raw_data['message'],
40        'assignment': lms.model.assignments.AssignmentQuery(id = raw_data['assignment-id']),
41        'user': lms.model.users.UserQuery(email = raw_data['user']),
42    }
43
44    return lms.model.scores.AssignmentScore(**data)

Create an LMS Toolkit assignment score from raw data coming from the autograder. The raw data from the server should be a model.SubmissionHistoryItem.