lms.backend.canvas.courses.quizzes.questions.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}/questions?per_page={page_size}"
 8
 9def request(backend: typing.Any,
10        course_id: int,
11        quiz_id: int,
12        fetch_resources: bool = False,
13        ) -> typing.List[lms.model.quizzes.Question]:
14    """ List quiz questions. """
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_list(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 questions', identifiers)
26
27        return []
28
29    return sorted([lms.backend.canvas.model.quiz_question(backend, raw_object, fetch_resources) for raw_object in raw_objects])
BASE_ENDPOINT = '/api/v1/courses/{course_id}/quizzes/{quiz_id}/questions?per_page={page_size}'
def request( backend: Any, course_id: int, quiz_id: int, fetch_resources: bool = False) -> List[lms.model.quizzes.Question]:
10def request(backend: typing.Any,
11        course_id: int,
12        quiz_id: int,
13        fetch_resources: bool = False,
14        ) -> typing.List[lms.model.quizzes.Question]:
15    """ List quiz questions. """
16
17    url = backend.server + BASE_ENDPOINT.format(course_id = course_id, quiz_id = quiz_id, page_size = lms.backend.canvas.common.DEFAULT_PAGE_SIZE)
18    headers = backend.get_standard_headers()
19
20    raw_objects = lms.backend.canvas.common.make_get_request_list(url, headers = headers)
21    if (raw_objects is None):
22        identifiers = {
23            'course_id': course_id,
24            'quiz_id': quiz_id,
25        }
26        backend.not_found('list quiz questions', identifiers)
27
28        return []
29
30    return sorted([lms.backend.canvas.model.quiz_question(backend, raw_object, fetch_resources) for raw_object in raw_objects])

List quiz questions.