comparison piecrust/configuration.py @ 683:ec384174b8b2

internal: More work/fixes on how default/theme/user configs are merged. Change how the code is organized to have better data flow. Add some tests.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 09 Mar 2016 00:23:51 -0800
parents 81d9c3a3a0b5
children 7705b3d981ca
comparison
equal deleted inserted replaced
682:99112a431de9 683:ec384174b8b2
120 bits = key.split('/') 120 bits = key.split('/')
121 cur = d 121 cur = d
122 for b in bits: 122 for b in bits:
123 cur = cur[b] 123 cur = cur[b]
124 return cur 124 return cur
125
126
127 def try_get_dict_value(d, key, default=None):
128 try:
129 return get_dict_value(d, key)
130 except KeyError:
131 return default
125 132
126 133
127 def set_dict_value(d, key, value): 134 def set_dict_value(d, key, value):
128 bits = key.split('/') 135 bits = key.split('/')
129 bitslen = len(bits) 136 bitslen = len(bits)