Ignore defaults.hjson values if already set (#19511)

* Ignore defaults.hjson values if already set

* Add warning when nothing is merged
master
Joel Challis 2023-01-07 17:05:53 +00:00 committed by GitHub
parent 403c7eeb5c
commit 974a1eaf2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 6 deletions

View File

@ -1,8 +1,7 @@
{
"keyboard_name": "Onekey Blackpill STM32F401 TinyUF2",
"processor": "STM32F401",
"development_board": "blackpill_f401",
"bootloader": "tinyuf2",
"board": "BLACKPILL_STM32_F401",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]

View File

@ -1,8 +1,7 @@
{
"keyboard_name": "Onekey Blackpill STM32F411 TinyUF2",
"processor": "STM32F411",
"development_board": "blackpill_f411",
"bootloader": "tinyuf2",
"board": "BLACKPILL_STM32_F411",
"matrix_pins": {
"cols": ["B0"],
"rows": ["A7"]

View File

@ -561,8 +561,16 @@ def _process_defaults(info_data):
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
merged_count = 0
thing_items = thing_map.get(info_data[default_type], {}).items()
for key, value in thing_items:
if key not in info_data:
info_data[key] = value
merged_count += 1
if merged_count == 0 and len(thing_items) > 0:
_log_warning(info_data, 'All defaults for \'%s\' were skipped, potential redundant config or misconfiguration detected' % (default_type))
return info_data