'Returns a list of grade results for the given course_grade corresponding
to the headers for this report.'

def _user_grade_results(self, course_grade, context):

    grade_results = []
    for (assignment_type, assignment_info) in context.graded_assignments.iteritems():
        for subsection_location in assignment_info['subsection_headers']:
            try:
                subsection_grade = course_grade.graded_subsections_by_format[assignment_type][subsection_location]
            except KeyError:
                grade_result = u'Not    Available'
            else:
                if (subsection_grade.graded_total.first_attempted is not None):
                    grade_result = (subsection_grade.graded_total.earned / subsection_grade.graded_total.possible)
                else:
                    grade_result = u'Not    Attempted'
            grade_results.append([grade_result])
        if assignment_info['separate_subsection_avg_headers']:
            assignment_average = course_grade.grader_result['grade_breakdown'].get(assignment_type, {}).get('percent')
            grade_results.append([assignment_average])
    return ([course_grade.percent] + _flatten(grade_results))
