def set_lines( lines, target_level, indent_string="    ", indent_empty_lines=False ):
    """ Sets indentation for the given set of :lines:. """

    first_non_empty_line_index = _get_first_non_empty_line_index( lines )
    first_line_original_level =  get_line_level( lines[first_non_empty_line_index], indent_string )

    for i in range(first_non_empty_line_index, len(lines)):
        if not indent_empty_lines and lines[i] == "":
            continue

        line_i_unindented = get_line_unindented( lines[i], indent_string )
        line_i_level =      get_line_level( lines[i], indent_string )

        on_second_line_or_later = i > first_non_empty_line_index
        if on_second_line_or_later:
            first_line_final_level = get_line_level( lines[first_non_empty_line_index], indent_string )
            relative_indent_move =   first_line_final_level - first_line_original_level
            target_level =           line_i_level + relative_indent_move

        if line_i_level == target_level:
            continue

        lines[i] = indent_string * target_level + line_i_unindented
def set_lines ( lines , target_level , indent_string = "    " , indent_empty_lines = False ) : first_non_empty_line_index = _get_first_non_empty_line_index ( lines ) first_line_original_level = get_line_level ( lines [ first_non_empty_line_index ] , indent_string ) for i in range ( first_non_empty_line_index , len ( lines ) ) : if not indent_empty_lines and lines [ i ] == "" : continue line_i_unindented = get_line_unindented ( lines [ i ] , indent_string ) line_i_level = get_line_level ( lines [ i ] , indent_string ) on_second_line_or_later = i > first_non_empty_line_index if on_second_line_or_later : first_line_final_level = get_line_level ( lines [ first_non_empty_line_index ] , indent_string ) relative_indent_move = first_line_final_level - first_line_original_level target_level = line_i_level + relative_indent_move if line_i_level == target_level : continue lines [ i ] = indent_string * target_level + line_i_unindented
Sets indentation for the given set of :lines:.