~ruther/qmk_firmware

5267329caa6ce08a5497d774bae0c8f386220a16 — Joel Challis 1 year, 4 months ago f583d2f
Ensure LED config is extracted when feature is disabled (#22809)

* Ensure LED config is extracted when feature is disabled

* Only attempt LED search if dd led config is missing
1 files changed, 17 insertions(+), 17 deletions(-)

M lib/python/qmk/info.py
M lib/python/qmk/info.py => lib/python/qmk/info.py +17 -17
@@ 684,26 684,26 @@ def _extract_led_config(info_data, keyboard):
    rows = info_data['matrix_size']['rows']

    # Determine what feature owns g_led_config
    features = info_data.get("features", {})
    feature = None
    if features.get("rgb_matrix", False):
        feature = "rgb_matrix"
    elif features.get("led_matrix", False):
        feature = "led_matrix"
    for feat in ['rgb_matrix', 'led_matrix']:
        if info_data.get('features', {}).get(feat, False) or feat in info_data:
            feature = feat

    if feature:
        # Process
        for file in find_keyboard_c(keyboard):
            try:
                ret = find_led_config(file, cols, rows)
                if ret:
                    info_data[feature] = info_data.get(feature, {})
                    info_data[feature]["layout"] = ret
            except Exception as e:
                _log_warning(info_data, f'led_config: {file.name}: {e}')

        if info_data[feature].get("layout", None) and not info_data[feature].get("led_count", None):
            info_data[feature]["led_count"] = len(info_data[feature]["layout"])
        # Only attempt search if dd led config is missing
        if 'layout' not in info_data.get(feature, {}):
            # Process
            for file in find_keyboard_c(keyboard):
                try:
                    ret = find_led_config(file, cols, rows)
                    if ret:
                        info_data[feature] = info_data.get(feature, {})
                        info_data[feature]['layout'] = ret
                except Exception as e:
                    _log_warning(info_data, f'led_config: {file.name}: {e}')

        if info_data[feature].get('layout', None) and not info_data[feature].get('led_count', None):
            info_data[feature]['led_count'] = len(info_data[feature]['layout'])

    return info_data


Do not follow this link