def _graded_scorable_blocks_to_header(course_key):
 scorable_blocks_map = OrderedDict()
 grading_context = grading_context_for_course(course_key)
 for (assignment_type_name, subsection_infos) in grading_context['all_graded_subsections_by_type'].iteritems():
  for (subsection_index, subsection_info) in enumerate(subsection_infos, start=1):
   for scorable_block in subsection_info['scored_descendants']:
    header_name = u'{assignment_type} {subsection_index}: {subsection_name} - {scorable_block_name}'.format(scorable_block_name=scorable_block.display_name, assignment_type=assignment_type_name, subsection_index=subsection_index, subsection_name=subsection_info['subsection_block'].display_name)
    scorable_blocks_map[scorable_block.location] = [(header_name + ' (Earned)'), (header_name + ' (Possible)')]
 return scorable_blocks_map

def _graded_scorable_blocks_to_header ( course_key ) : scorable_blocks_map = OrderedDict ( ) grading_context = grading_context_for_course ( course_key ) for ( assignment_type_name , subsection_infos ) in grading_context [ 'all_graded_subsections_by_type' ] . iteritems ( ) : for ( subsection_index , subsection_info ) in enumerate ( subsection_infos , start = 1 ) : for scorable_block in subsection_info [ 'scored_descendants' ] : header_name = u'{assignment_type} {subsection_index}: {subsection_name} - {scorable_block_name}' . format ( scorable_block_name = scorable_block . display_name , assignment_type = assignment_type_name , subsection_index = subsection_index , subsection_name = subsection_info [ 'subsection_block' ] . display_name ) scorable_blocks_map [ scorable_block . location ] = [ ( header_name + ' (Earned)' ) , ( header_name + ' (Possible)' ) ] return scorable_blocks_map
returns an ordereddict that maps a scorable blocks id to its headers in the final report .