'Returns a CourseGrade object based on stored grade information
for the given user and course.'

@staticmethod
def _read(user, course_data):

    if (not should_persist_grades(course_data.course_key)):
        raise PersistentCourseGrade.DoesNotExist
    persistent_grade = PersistentCourseGrade.read(user.id, course_data.course_key)
    course_grade = CourseGrade(user, course_data, persistent_grade.percent_grade, persistent_grade.letter_grade, (persistent_grade.passed_timestamp is not None))
    log.debug(u'Grades:    Read,    %s,    User:    %s,    %s', unicode(course_data), user.id, persistent_grade)
    return (course_grade, persistent_grade.grading_policy_hash)
