def _create_xblock_child_info(xblock, course_outline, graders, include_children_predicate=NEVER): """ Returns information about the children of an xblock, as well as about the primary category of xblock expected as children. """ 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) for child in xblock.get_children() ] return child_info
def _create_xblock_child_info(xblock, course_outline, graders, include_children_predicate=NEVER, user=None): """ Returns information about the children of an xblock, as well as about the primary category of xblock expected as children. """ 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, ) for child in xblock.get_children() ] return child_info