def graded_subsections_for_course_id(course_id): """ Return graded subsections for the course. """ from lms.djangoapps.grades.context import graded_subsections_for_course return graded_subsections_for_course( course_data.CourseData(user=None, course_key=course_id).collected_structure)
def _create_subsection_grade(user_id, course_key, usage_key): """ Given a user_id, course_key, and subsection usage_key, creates a new ``PersistentSubsectionGrade``. """ from lms.djangoapps.courseware.courses import get_course from django.contrib.auth import get_user_model course = get_course(course_key, depth=None) subsection = course.get_child(usage_key) if not subsection: raise Exception('Subsection with given usage_key does not exist.') user = get_user_model().objects.get(id=user_id) subsection_grade = CreateSubsectionGrade(subsection, course_data.CourseData(user, course=course).structure, {}, {}) return subsection_grade.update_or_create_model(user, force_update_subsections=True)