From 974a1eaf2a1076de0cc06deeefe12e15b7e209bc Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 7 Jan 2023 17:05:53 +0000 Subject: Ignore defaults.hjson values if already set (#19511) * Ignore defaults.hjson values if already set * Add warning when nothing is merged --- lib/python/qmk/info.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'lib/python') diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 7e588b5182..86b1e2c063 100644 --- a/lib/python/qmk/info.py +++ b/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 -- cgit v1.2.3