From 93bca98558188d45caebdf43a5d9ea55343b0fd6 Mon Sep 17 00:00:00 2001 From: Oliver Hinckel Date: Sat, 15 Feb 2014 10:45:39 +0100 Subject: [PATCH] - add support to configure dictionaries in configuration files # using syntax: { key : value | key : value | ... } --- lib/config.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/config.py b/lib/config.py index e9c76333..6d1f31c9 100755 --- a/lib/config.py +++ b/lib/config.py @@ -94,7 +94,12 @@ def parse(filename, config=None): if not set(attr).issubset(valid_set): logger.error("Problem parsing '{}' invalid character in line {}: {}. Valid characters are: {}".format(filename, linenu, attr, valid_chars)) continue - if '|' in value: + if value.strip()[0] == '{' and value.strip()[-1] == '}': + item[attr] = {} + for x in value.strip()[1:-2].split('|'): + keyname, __, keyvalue = x.partition(':') + item[attr][strip_quotes(keyname)] = strip_quotes(keyvalue) + elif '|' in value: item[attr] = [strip_quotes(x) for x in value.split('|')] else: item[attr] = strip_quotes(value)