diff --git a/vdirsyncer/cli.py b/vdirsyncer/cli.py index 0b24ea2..5204cdc 100644 --- a/vdirsyncer/cli.py +++ b/vdirsyncer/cli.py @@ -30,7 +30,7 @@ def load_config(fname, pair_options=('collections', 'conflict_resolution')): c = RawConfigParser() c.read(fname) - get_options = lambda s: dict(parse_options(c.items(s))) + get_options = lambda s: dict(parse_options(c.items(s), section=s)) pairs = {} storages = {} diff --git a/vdirsyncer/utils.py b/vdirsyncer/utils.py index 19792a2..950cc54 100644 --- a/vdirsyncer/utils.py +++ b/vdirsyncer/utils.py @@ -59,8 +59,13 @@ def split_dict(d, f): return a, b -def parse_options(items): +def parse_options(items, section=None): for key, value in items: + if len(value.splitlines()) > 1: + raise ValueError('Section {!r}, option {!r}: ' + 'No multiline-values allowed.' + .format(section, key)) + if value.lower() in ('yes', 'true', 'on'): value = True elif value.lower() in ('no', 'false', 'off'):