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
This commit is contained in:
		
							parent
							
								
									f583d2fef0
								
							
						
					
					
						commit
						5267329caa
					
				
					 1 changed files with 16 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -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}')
 | 
			
		||||
        # 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"])
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue