autograder.api.courses.assignments.submissions.fetch.user.peek

Get a copy of the grading report for the specified submission. Does not submit a new submission.

 1"""
 2Get a copy of the grading report for the specified submission.
 3Does not submit a new submission.
 4"""
 5
 6import typing
 7
 8import autograder.api.common
 9import autograder.api.config
10import autograder.assignment
11import autograder.model.config
12
13API_ENDPOINT: str = 'courses/assignments/submissions/fetch/user/peek'
14API_WRITE: bool = False
15API_PARAMS: typing.List[autograder.api.config.APIParam] = [
16    autograder.api.config.PARAM_SERVER,
17    autograder.api.config.PARAM_USER_EMAIL,
18    autograder.api.config.PARAM_USER_PASS,
19
20    autograder.api.config.PARAM_COURSE,
21    autograder.api.config.PARAM_ASSIGNMENT,
22
23    autograder.api.config.PARAM_TARGET_EMAIL_OR_SELF,
24    autograder.api.config.PARAM_TARGET_SUBMISSION_OR_RECENT,
25]
26
27def send(config: autograder.model.config.Config, **kwargs: typing.Any) -> typing.Tuple[
28        bool, bool, typing.Union[autograder.assignment.GradedAssignment, None]]:
29    """
30    Send a request to the autograder.
31    Returns: (found user, found submission, graded submission).
32    """
33
34    response = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs)
35
36    if (not response['found-user']):
37        return False, False, None
38
39    if (not response['found-submission']):
40        return True, False, None
41
42    return True, True, autograder.assignment.GradedAssignment.from_dict(response['submission-result'])
API_ENDPOINT: str = 'courses/assignments/submissions/fetch/user/peek'
API_WRITE: bool = False
def send( config: autograder.model.config.Config, **kwargs: Any) -> Tuple[bool, bool, Optional[autograder.assignment.GradedAssignment]]:
28def send(config: autograder.model.config.Config, **kwargs: typing.Any) -> typing.Tuple[
29        bool, bool, typing.Union[autograder.assignment.GradedAssignment, None]]:
30    """
31    Send a request to the autograder.
32    Returns: (found user, found submission, graded submission).
33    """
34
35    response = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs)
36
37    if (not response['found-user']):
38        return False, False, None
39
40    if (not response['found-submission']):
41        return True, False, None
42
43    return True, True, autograder.assignment.GradedAssignment.from_dict(response['submission-result'])

Send a request to the autograder. Returns: (found user, found submission, graded submission).