lms.backend.canvas.courses.groups.list

 1import typing
 2
 3import lms.backend.canvas.common
 4import lms.backend.canvas.model
 5import lms.model.groups
 6
 7BASE_ENDPOINT = "/api/v1/group_categories/{groupset_id}/groups?per_page={page_size}"
 8
 9def request(backend: typing.Any,
10        course_id: int,
11        groupset_id: int,
12        ) -> typing.List[lms.model.groups.Group]:
13    """ List a group set's groups. """
14
15    url = backend.server + BASE_ENDPOINT.format(groupset_id = groupset_id, page_size = lms.backend.canvas.common.DEFAULT_PAGE_SIZE)
16    headers = backend.get_standard_headers()
17
18    raw_objects = lms.backend.canvas.common.make_get_request_list(url, headers = headers)
19    if (raw_objects is None):
20        identifiers = {
21            'course_id': course_id,
22            'groupset_id': groupset_id,
23        }
24        backend.not_found('list groups', identifiers)
25
26        return []
27
28    return [lms.backend.canvas.model.group(raw_object) for raw_object in raw_objects]
BASE_ENDPOINT = '/api/v1/group_categories/{groupset_id}/groups?per_page={page_size}'
def request( backend: Any, course_id: int, groupset_id: int) -> List[lms.model.groups.Group]:
10def request(backend: typing.Any,
11        course_id: int,
12        groupset_id: int,
13        ) -> typing.List[lms.model.groups.Group]:
14    """ List a group set's groups. """
15
16    url = backend.server + BASE_ENDPOINT.format(groupset_id = groupset_id, page_size = lms.backend.canvas.common.DEFAULT_PAGE_SIZE)
17    headers = backend.get_standard_headers()
18
19    raw_objects = lms.backend.canvas.common.make_get_request_list(url, headers = headers)
20    if (raw_objects is None):
21        identifiers = {
22            'course_id': course_id,
23            'groupset_id': groupset_id,
24        }
25        backend.not_found('list groups', identifiers)
26
27        return []
28
29    return [lms.backend.canvas.model.group(raw_object) for raw_object in raw_objects]

List a group set's groups.