Pārlūkot izejas kodu

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

* Ignore defaults.hjson values if already set

* Add warning when nothing is merged
Joel Challis 3 gadi atpakaļ
vecāks
revīzija
974a1eaf2a

+ 1 - 2
keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json

@@ -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"]

+ 1 - 2
keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json

@@ -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"]

+ 10 - 2
lib/python/qmk/info.py

@@ -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