autograder.api.courses.list

List the courses on a server.

 1"""
 2List the courses on a server.
 3"""
 4
 5import typing
 6
 7import autograder.api.common
 8import autograder.api.config
 9import autograder.model.config
10import autograder.model.course
11
12API_ENDPOINT: str = 'courses/list'
13API_WRITE: bool = False
14API_PARAMS: typing.List[autograder.api.config.APIParam] = [
15    autograder.api.config.PARAM_SERVER,
16    autograder.api.config.PARAM_USER_EMAIL,
17    autograder.api.config.PARAM_USER_PASS,
18]
19
20def send(config: autograder.model.config.Config, **kwargs: typing.Any) -> typing.List[autograder.model.course.Course]:
21    """ Send a request to the autograder. """
22
23    response = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs)
24
25    courses = []
26    for raw_course in response['courses']:
27        courses.append(autograder.model.course.Course.from_api(raw_course))
28
29    return sorted(courses)
API_ENDPOINT: str = 'courses/list'
API_WRITE: bool = False
def send( config: autograder.model.config.Config, **kwargs: Any) -> List[autograder.model.course.Course]:
21def send(config: autograder.model.config.Config, **kwargs: typing.Any) -> typing.List[autograder.model.course.Course]:
22    """ Send a request to the autograder. """
23
24    response = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs)
25
26    courses = []
27    for raw_course in response['courses']:
28        courses.append(autograder.model.course.Course.from_api(raw_course))
29
30    return sorted(courses)

Send a request to the autograder.