fix: use __dataclass_fields__ instead of hasattr to load config - fixes printers list being ignored
This commit is contained in:
@@ -128,13 +128,13 @@ class ConfigService:
|
|||||||
cfg = Config()
|
cfg = Config()
|
||||||
|
|
||||||
if "app" in raw:
|
if "app" in raw:
|
||||||
cfg.app = AppConfig(**{k: v for k, v in raw["app"].items() if hasattr(AppConfig, k)})
|
cfg.app = AppConfig(**{k: v for k, v in raw["app"].items() if k in AppConfig.__dataclass_fields__})
|
||||||
|
|
||||||
if "photobooth" in raw:
|
if "photobooth" in raw:
|
||||||
cfg.photobooth = PhotoboothConfig(**{k: v for k, v in raw["photobooth"].items() if hasattr(PhotoboothConfig, k)})
|
cfg.photobooth = PhotoboothConfig(**{k: v for k, v in raw["photobooth"].items() if k in PhotoboothConfig.__dataclass_fields__})
|
||||||
|
|
||||||
if "button" in raw:
|
if "button" in raw:
|
||||||
cfg.button = ButtonConfig(**{k: v for k, v in raw["button"].items() if hasattr(ButtonConfig, k)})
|
cfg.button = ButtonConfig(**{k: v for k, v in raw["button"].items() if k in ButtonConfig.__dataclass_fields__})
|
||||||
|
|
||||||
if "leds" in raw:
|
if "leds" in raw:
|
||||||
led_raw = raw["leds"]
|
led_raw = raw["leds"]
|
||||||
@@ -150,13 +150,13 @@ class ConfigService:
|
|||||||
)
|
)
|
||||||
|
|
||||||
if "print" in raw:
|
if "print" in raw:
|
||||||
cfg.print = PrintConfig(**{k: v for k, v in raw["print"].items() if hasattr(PrintConfig, k)})
|
cfg.print = PrintConfig(**{k: v for k, v in raw["print"].items() if k in PrintConfig.__dataclass_fields__})
|
||||||
|
|
||||||
if "gallery" in raw:
|
if "gallery" in raw:
|
||||||
cfg.gallery = GalleryConfig(**{k: v for k, v in raw["gallery"].items() if hasattr(GalleryConfig, k)})
|
cfg.gallery = GalleryConfig(**{k: v for k, v in raw["gallery"].items() if k in GalleryConfig.__dataclass_fields__})
|
||||||
|
|
||||||
if "event" in raw:
|
if "event" in raw:
|
||||||
cfg.event = EventConfig(**{k: v for k, v in raw["event"].items() if hasattr(EventConfig, k)})
|
cfg.event = EventConfig(**{k: v for k, v in raw["event"].items() if k in EventConfig.__dataclass_fields__})
|
||||||
|
|
||||||
cfg.button_actions = raw.get("button_actions", {
|
cfg.button_actions = raw.get("button_actions", {
|
||||||
1: {"label": "Photo normale", "photobooth_index": 0},
|
1: {"label": "Photo normale", "photobooth_index": 0},
|
||||||
|
|||||||
Reference in New Issue
Block a user