def parse_option_list_string(option_list, delimiter=None):
    """Convert the given string to a dictionary of options.

    Each pair must be of the form 'k=v', the delimiter seperates the
    pairs from each other not the key from the value.

    :param option_list: A string representation of key value pairs.
    :type option_list: str
    :param delimiter: Delimiter to use to seperate each pair.
    :type delimiter: str
    :returns: A dictionary of settings.
    :rtype: Dict
    """
    settings = {}
    if delimiter is None:
        delimiter = ';'
    for setting in option_list.split(delimiter):
        if not setting:
            continue
        key, value = setting.split('=')
        settings[key.strip()] = value.strip()
    return settings