Эх сурвалжийг харах

bug if macro definition and not integer is used to identify layers (#12648)

sendmmsg 4 жил өмнө
parent
commit
d45a24a954

+ 10 - 1
keyboards/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py

@@ -164,7 +164,16 @@ class KeymapBeautifier:
                 key_symbols = [key_symbols[i] for i in self.index_conversion_map_reversed(self.INDEX_CONVERSTION_LAYOUT_ergodox_pretty_to_LAYOUT_ergodox)]
 
             padded_key_symbols = self.pad_key_symbols(key_symbols, input_layout)
-            current_pretty_output_layer = self.pretty_output_layer(layer.name[0].value, padded_key_symbols)
+           
+            layer_identifier = None
+            if hasattr(layer.name[0], "value"):
+                layer_identifier = layer.name[0].value
+            elif hasattr(layer.name[0], "name"):
+                layer_identifier = layer.name[0].name
+            else:
+                raise AttributeError("Layer is missing both index and name (e.g., [BASE] = LAYOUT_ergodox(...))")
+
+            current_pretty_output_layer = self.pretty_output_layer(layer_identifier, padded_key_symbols)
             # strip trailing spaces from padding
             layer_output.append(re.sub(r" +\n", "\n", current_pretty_output_layer))