Mercurial > piecrust2
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) |