def _create_xblock_child_info(xblock, course_outline, graders, include_children_predicate=NEVER, user=None, course=None):
 child_info = {}
 child_category = xblock_primary_child_category(xblock)
 if child_category:
  child_info = {'category': child_category, 'display_name': xblock_type_display_name(child_category, default_display_name=child_category)}
 if (xblock.has_children and include_children_predicate(xblock)):
  child_info['children'] = [create_xblock_info(child, include_child_info=True, course_outline=course_outline, include_children_predicate=include_children_predicate, parent_xblock=xblock, graders=graders, user=user, course=course) for child in xblock.get_children()]
 return child_info

def _create_xblock_child_info ( xblock , course_outline , graders , include_children_predicate = NEVER , user = None , course = None ) : child_info = { } child_category = xblock_primary_child_category ( xblock ) if child_category : child_info = { 'category' : child_category , 'display_name' : xblock_type_display_name ( child_category , default_display_name = child_category ) } if ( xblock . has_children and include_children_predicate ( xblock ) ) : child_info [ 'children' ] = [ create_xblock_info ( child , include_child_info = True , course_outline = course_outline , include_children_predicate = include_children_predicate , parent_xblock = xblock , graders = graders , user = user , course = course ) for child in xblock . get_children ( ) ] return child_info
returns information about the children of an xblock .