(idx, end, config_lines, indent, errors)
return description, idx
With idx pointing to the beginning of a description, it reads line by line and build the string. It returns
    the string and a pointer to the end of the description.
With idx pointing to the beginning of a description, it reads line by line and build the string. It returns
    the string and a pointer to the end of the description.
With idx pointing to the beginning of a description it reads line by line and build the string . It returns the string and a pointer to the end of the description .
def _parse_description(idx, end, config_lines, indent, errors):
    """With idx pointing to the beginning of a description, it reads line by line and build the string. It returns
    the string and a pointer to the end of the description.
    """

    description = []
    while idx < end:
        if not is_exactly_indented(config_lines[idx], indent):
            if is_blank(config_lines[idx]):
                errors.append(ValidatorError("Reached end of description without marker", idx))
            else:
                errors.append(ValidatorError("Description is not correctly indented", idx))
            return None, None
        current_line = config_lines[idx][indent:]

        if current_line.startswith("##"):
            description.append(current_line[2:])
            idx += 1
        elif current_line[0] == '#' and is_blank(current_line[1:]):
            # End of description
            description = '\n'.join(description)
            idx += 1
            break
        else:
            description = '\n'.join(description)
            errors.append(ValidatorError("Reached end of description without marker", idx))
            return description, None
    else:
        # EOF reached without end of description
        errors.append(ValidatorError("Reached EOF while reading description", idx))
        return None, None

    return description, idx
def _parse_description ( idx , end , config_lines , indent , errors ) : description = [ ] while idx < end : if not is_exactly_indented ( config_lines [ idx ] , indent ) : if is_blank ( config_lines [ idx ] ) : errors . append ( ValidatorError ( "Reached end of description without marker" , idx ) ) else : errors . append ( ValidatorError ( "Description is not correctly indented" , idx ) ) return None , None current_line = config_lines [ idx ] [ indent : ] if current_line . startswith ( "##" ) : description . append ( current_line [ 2 : ] ) idx += 1 elif current_line [ 0 ] == '#' and is_blank ( current_line [ 1 : ] ) : # End of description description = '\n' . join ( description ) idx += 1 break else : description = '\n' . join ( description ) errors . append ( ValidatorError ( "Reached end of description without marker" , idx ) ) return description , None else : # EOF reached without end of description errors . append ( ValidatorError ( "Reached EOF while reading description" , idx ) ) return None , None return description , idx