lms.backend.canvas.courses.groups.create

 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"
 8
 9def request(backend: typing.Any,
10        course_id: int,
11        groupset_id: int,
12        name: str,
13        ) -> lms.model.groups.Group:
14    """ Create a group. """
15
16    url = backend.server + BASE_ENDPOINT.format(groupset_id = groupset_id)
17    headers = backend.get_standard_headers(write = True)
18
19    data = {
20        'name': name,
21    }
22
23    raw_object = lms.backend.canvas.common.make_post_request(url, headers = headers, data = data)
24    if (raw_object is None):
25        identifiers = {
26            'course_id': course_id,
27            'groupset_id': groupset_id,
28        }
29        backend.not_found('create group', identifiers)
30
31        raise ValueError(f"Unable to create group '{name}' for course '{course_id}' and group set '{groupset_id}'.")
32
33    return lms.backend.canvas.model.group(raw_object)
BASE_ENDPOINT = '/api/v1/group_categories/{groupset_id}/groups'
def request( backend: Any, course_id: int, groupset_id: int, name: str) -> lms.model.groups.Group:
10def request(backend: typing.Any,
11        course_id: int,
12        groupset_id: int,
13        name: str,
14        ) -> lms.model.groups.Group:
15    """ Create a group. """
16
17    url = backend.server + BASE_ENDPOINT.format(groupset_id = groupset_id)
18    headers = backend.get_standard_headers(write = True)
19
20    data = {
21        'name': name,
22    }
23
24    raw_object = lms.backend.canvas.common.make_post_request(url, headers = headers, data = data)
25    if (raw_object is None):
26        identifiers = {
27            'course_id': course_id,
28            'groupset_id': groupset_id,
29        }
30        backend.not_found('create group', identifiers)
31
32        raise ValueError(f"Unable to create group '{name}' for course '{course_id}' and group set '{groupset_id}'.")
33
34    return lms.backend.canvas.model.group(raw_object)

Create a group.