def extract_assignments(c: canvasapi.canvas.Course): for ass in c.get_assignments(): # `ass.description` might be outdated so we have to make a separate request html_to_parse = c.get_assignment(ass.id).description if html_to_parse is None: continue # Sometimes file links might be broken, sometimes the Canvas API just returns nonsense # yield from map(c.get_file, extract_file_ids(html_to_parse)) yield from file_extractor(c, extract_file_ids(html_to_parse))
def get_assignment(course: canvasapi.canvas.Course, assignment_id: int): """ :param course: canvas course object :return: a canvas assignment is returned given its id """ return course.get_assignment(assignment_id)