def parse_values_to_append(options):
    """Manual parsing of --append arguments.

    :param options: list of arguments following --append argument.
    :return: dictionary containing key paths with values to be added
    :rtype: dict
    """
    parsed = {}
    for argument in options:
        if len(argument.split('=')) == 2:
            section, values = argument.split('=')
            if len(section.split('.')) != 2:
                raise Exception(
                    "Missing dot. The option --append has to come in the format 'section.key=value[,value]', but got '%s'."
                     % argument)
            if values == '':
                raise Exception(
                    "No values to append specified. The option --append has to come in the format 'section.key=value[, value]', but got '%s'"
                     % values)
            parsed[section] = values.split(',')
        else:
            raise Exception('Missing equal sign or more than just one found.')
    return parsed
