fix: compat for python-materialyoucolor < 3.0.0

This commit is contained in:
2 * r + 2 * t
2026-02-14 23:22:30 +11:00
parent 9c309473f4
commit fe8adde6c1
+9 -3
View File
@@ -172,9 +172,15 @@ def gen_scheme(scheme, primary: Hct) -> dict[str, str]:
# Material colours # Material colours
primary_scheme = get_scheme(scheme.variant)(primary, not light, 0) primary_scheme = get_scheme(scheme.variant)(primary, not light, 0)
dyn_colours = MaterialDynamicColors() if hasattr(MaterialDynamicColors, "all_colors"): # materialyoucolor-python >= 3.0.0
for colour in dyn_colours.all_colors: dyn_colours = MaterialDynamicColors()
colours[colour.name] = colour.get_hct(primary_scheme) for colour in dyn_colours.all_colors:
colours[colour.name] = colour.get_hct(primary_scheme)
else:
for colour in vars(MaterialDynamicColors).keys():
colour_name = getattr(MaterialDynamicColors, colour)
if hasattr(colour_name, "get_hct"):
colours[colour] = colour_name.get_hct(primary_scheme)
# Backwards compatibility with old colour names # Backwards compatibility with old colour names
if "primaryPaletteKeyColor" in colours: # materialyoucolor-python >= 3.0.0 if "primaryPaletteKeyColor" in colours: # materialyoucolor-python >= 3.0.0