some fixes
This commit is contained in:
@@ -4,7 +4,13 @@ from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from python_app.models.run_config_schema import ComboModel, GprModel, RingEndpointModel, SwitchModel
|
||||
from python_app.models.run_config_schema import (
|
||||
ComboModel,
|
||||
ControlButtonModel,
|
||||
GprModel,
|
||||
RingEndpointModel,
|
||||
SwitchModel,
|
||||
)
|
||||
|
||||
def load_switch_payload(
|
||||
payload: dict[str, Any],
|
||||
@@ -23,6 +29,20 @@ def load_switch_payload(
|
||||
target.invert_logic = bool(payload.get("invert_logic", target.invert_logic))
|
||||
|
||||
|
||||
def load_control_button_payload(
|
||||
payload: dict[str, Any],
|
||||
target: ControlButtonModel,
|
||||
) -> None:
|
||||
"""Populate control-button model from payload preserving defaults."""
|
||||
target.enabled = bool(payload.get("enabled", target.enabled))
|
||||
target.gpio_chip = str(payload.get("gpio_chip", target.gpio_chip))
|
||||
target.pin = int(payload.get("pin", target.pin))
|
||||
target.active_low = bool(payload.get("active_low", target.active_low))
|
||||
target.bias = str(payload.get("bias", target.bias))
|
||||
target.debounce_ms = int(payload.get("debounce_ms", target.debounce_ms))
|
||||
target.action = str(payload.get("action", target.action))
|
||||
|
||||
|
||||
def load_ring_payload(payload: dict[str, Any], target: RingEndpointModel) -> None:
|
||||
"""Populate ring endpoint model from payload preserving defaults."""
|
||||
target.name = str(payload.get("name", target.name))
|
||||
|
||||
Reference in New Issue
Block a user