def _calculate_entrance_exam_score(user, course_descriptor): """ Internal helper to calculate a user's score for a course's entrance exam """ exam_key = UsageKey.from_string(course_descriptor.entrance_exam_id) exam_descriptor = modulestore().get_item(exam_key) exam_module_generators = yield_dynamic_descriptor_descendents(exam_descriptor, inner_get_module) exam_modules = [module for module in exam_module_generators] exam_score = calculate_entrance_exam_score(user, course_descriptor, exam_modules) return exam_score
def _calculate_entrance_exam_score(user, course_descriptor): """ Internal helper to calculate a user's score for a course's entrance exam """ exam_key = UsageKey.from_string(course_descriptor.entrance_exam_id) exam_descriptor = modulestore().get_item(exam_key) exam_module_generators = yield_dynamic_descriptor_descendents( exam_descriptor, inner_get_module) exam_modules = [module for module in exam_module_generators] exam_score = milestones_helpers.calculate_entrance_exam_score( user, course_descriptor, exam_modules) return exam_score
def get_entrance_exam_score(request, course): """ Get entrance exam score """ exam_key = UsageKey.from_string(course.entrance_exam_id) exam_descriptor = modulestore().get_item(exam_key) def inner_get_module(descriptor): """ Delegate to get_module_for_descriptor. """ field_data_cache = FieldDataCache([descriptor], course.id, request.user) return get_module_for_descriptor(request.user, request, descriptor, field_data_cache, course.id) exam_module_generators = yield_dynamic_descriptor_descendents(exam_descriptor, inner_get_module) exam_modules = [module for module in exam_module_generators] return calculate_entrance_exam_score(request.user, course, exam_modules)
def get_entrance_exam_score(request, course): """ Get entrance exam score """ exam_key = UsageKey.from_string(course.entrance_exam_id) exam_descriptor = modulestore().get_item(exam_key) def inner_get_module(descriptor): """ Delegate to get_module_for_descriptor. """ field_data_cache = FieldDataCache([descriptor], course.id, request.user) return get_module_for_descriptor(request.user, request, descriptor, field_data_cache, course.id) exam_module_generators = yield_dynamic_descriptor_descendents( exam_descriptor, inner_get_module) exam_modules = [module for module in exam_module_generators] return calculate_entrance_exam_score(request.user, course, exam_modules)