autograder.api.courses.assignments.submissions.fetch.user.history
Get the most recent scores for this user and assignment.
1""" 2Get the most recent scores for this user and assignment. 3""" 4 5import typing 6 7import lms.model.scores 8 9import autograder.api.common 10import autograder.api.config 11import autograder.model.assignment 12import autograder.model.config 13 14API_ENDPOINT: str = 'courses/assignments/submissions/fetch/user/history' 15API_WRITE: bool = False 16API_PARAMS: typing.List[autograder.api.config.APIParam] = [ 17 autograder.api.config.PARAM_SERVER, 18 autograder.api.config.PARAM_USER_EMAIL, 19 autograder.api.config.PARAM_USER_PASS, 20 21 autograder.api.config.PARAM_COURSE, 22 autograder.api.config.PARAM_ASSIGNMENT, 23 24 autograder.api.config.PARAM_TARGET_EMAIL_OR_SELF, 25] 26 27def send(config: autograder.model.config.Config, **kwargs: typing.Any) -> typing.Tuple[bool, typing.List[lms.model.scores.AssignmentScore]]: 28 """ Send a request to the autograder. """ 29 30 response = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs) 31 32 if (not response['found-user']): 33 return False, [] 34 35 scores = [] 36 for raw_score in response['history']: 37 scores.append(autograder.model.assignment.make_assignment_score(raw_score)) 38 39 return True, sorted(scores)
API_ENDPOINT: str =
'courses/assignments/submissions/fetch/user/history'
API_WRITE: bool =
False
API_PARAMS: List[autograder.api.config.APIParam] =
[<autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>]
def
send( config: autograder.model.config.Config, **kwargs: Any) -> Tuple[bool, List[lms.model.scores.AssignmentScore]]:
28def send(config: autograder.model.config.Config, **kwargs: typing.Any) -> typing.Tuple[bool, typing.List[lms.model.scores.AssignmentScore]]: 29 """ Send a request to the autograder. """ 30 31 response = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs) 32 33 if (not response['found-user']): 34 return False, [] 35 36 scores = [] 37 for raw_score in response['history']: 38 scores.append(autograder.model.assignment.make_assignment_score(raw_score)) 39 40 return True, sorted(scores)
Send a request to the autograder.