(cfg, cfg_list)
| 75 | |
| 76 | |
| 77 | def merge_cfg_from_list(cfg, cfg_list): |
| 78 | new_cfg = copy.deepcopy(cfg) |
| 79 | assert len(cfg_list) % 2 == 0 |
| 80 | for full_key, v in zip(cfg_list[0::2], cfg_list[1::2]): |
| 81 | subkey = full_key.split('.')[-1] |
| 82 | assert subkey in cfg, 'Non-existent key: {}'.format(full_key) |
| 83 | value = _decode_cfg_value(v) |
| 84 | value = _check_and_coerce_cfg_value_type(value, cfg[subkey], subkey, |
| 85 | full_key) |
| 86 | setattr(new_cfg, subkey, value) |
| 87 | |
| 88 | return new_cfg |
| 89 | |
| 90 | |
| 91 | def _decode_cfg_value(v): |
nothing calls this directly
no test coverage detected