lms.backend.canvas.courses.quizzes.groups.list
1import typing 2 3import lms.backend.canvas.common 4import lms.backend.canvas.model 5import lms.model.quizzes 6 7BASE_ENDPOINT = "/api/v1/courses/{course_id}/quizzes/{quiz_id}/groups?per_page={page_size}" 8 9def request(backend: typing.Any, 10 course_id: int, 11 quiz_id: int 12 ) -> typing.List[lms.model.quizzes.QuestionGroup]: 13 """ List quiz question groups. """ 14 15 url = backend.server + BASE_ENDPOINT.format(course_id = course_id, quiz_id = quiz_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(url, headers = headers) 19 if (raw_objects is None): 20 identifiers = { 21 'course_id': course_id, 22 'quiz_id': quiz_id, 23 } 24 backend.not_found('list quiz question groups', identifiers) 25 26 return [] 27 28 return sorted([lms.backend.canvas.model.quiz_question_group(raw_object) for raw_object in raw_objects.get('quiz_groups', [])])
BASE_ENDPOINT =
'/api/v1/courses/{course_id}/quizzes/{quiz_id}/groups?per_page={page_size}'
10def request(backend: typing.Any, 11 course_id: int, 12 quiz_id: int 13 ) -> typing.List[lms.model.quizzes.QuestionGroup]: 14 """ List quiz question groups. """ 15 16 url = backend.server + BASE_ENDPOINT.format(course_id = course_id, quiz_id = quiz_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(url, headers = headers) 20 if (raw_objects is None): 21 identifiers = { 22 'course_id': course_id, 23 'quiz_id': quiz_id, 24 } 25 backend.not_found('list quiz question groups', identifiers) 26 27 return [] 28 29 return sorted([lms.backend.canvas.model.quiz_question_group(raw_object) for raw_object in raw_objects.get('quiz_groups', [])])
List quiz question groups.