def get_enrollments_for_regid(self, regid, params={}): """ Return a list of enrollments for the passed user regid. https://canvas.instructure.com/doc/api/enrollments.html#method.enrollments_api.index """ url = "/api/v1/users/%s/enrollments" % ( self._sis_id(regid, sis_field="user")) courses = Courses() enrollments = [] for datum in self._get_paged_resource(url, params=params): course_id = datum["course_id"] course = courses.get_course(course_id) if course.sis_course_id is not None: enrollment = self._enrollment_from_json(datum) enrollment.course = course # the following 3 lines are not removed # to be backward compatible. enrollment.course_url = course.course_url enrollment.course_name = course.name enrollment.sis_course_id = course.sis_course_id enrollments.append(enrollment) return enrollments
def get_indexed_by_decrosslisted(by_primary, sws_sections): for section in sws_sections: base_id = section.section_label() alternate_id = None try: sis_id = section.canvas_section_sis_id() canvas_section = Sections().get_section_by_sis_id(sis_id) primary_course = Courses().get_course(canvas_section.course_id) alternate_id = primary_course.sws_course_id() except Exception as ex: # primary section doesn't have canvas_section_sis_id alternate_id = base_id if base_id not in by_primary: if alternate_id in by_primary: by_primary[base_id] = by_primary[alternate_id] return by_primary
def get_courses_for_regid(self, regid): deprecation("Use restclients.canvas.courses.get_courses_for_regid") from restclients.canvas.courses import Courses return Courses().get_courses_for_regid(regid)