diff options
author | Joel Challis <git@zvecr.com> | 2022-04-03 18:45:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-03 18:45:10 +0100 |
commit | c0ac3f73724154c02cc5072f7651294d4e9a2366 (patch) | |
tree | dab7234046670255df37caa55eebe6b32b14eb17 /lib | |
parent | 1660b2d2e25f5c43306a043c372255d0f66bb925 (diff) | |
download | qmk_firmware-c0ac3f73724154c02cc5072f7651294d4e9a2366.tar.gz qmk_firmware-c0ac3f73724154c02cc5072f7651294d4e9a2366.zip |
Add frameworking for development board presets (#16637)
* Add frameworking for development board presets
* Update lib/python/qmk/info.py
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/python/qmk/info.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 1d81b3e94b..c5a7d33848 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -69,6 +69,7 @@ def info_json(keyboard): # Merge in the data from info.json, config.h, and rules.mk info_data = merge_info_jsons(keyboard, info_data) + info_data = _process_defaults(info_data) info_data = _extract_rules_mk(info_data, rules_mk(str(keyboard))) info_data = _extract_config_h(info_data, config_h(str(keyboard))) @@ -473,6 +474,18 @@ def _extract_config_h(info_data, config_c): return info_data +def _process_defaults(info_data): + """Process any additional defaults based on currently discovered information + """ + defaults_map = json_load(Path('data/mappings/defaults.json')) + for default_type in defaults_map.keys(): + thing_map = defaults_map[default_type] + if default_type in info_data: + for key, value in thing_map.get(info_data[default_type], {}).items(): + info_data[key] = value + return info_data + + def _extract_rules_mk(info_data, rules): """Pull some keyboard information from existing rules.mk files """ |