Fix provider kwargs leak for mock device fields
Pop send_latency_ms and rgbw from kwargs in WLED, Adalight, and AmbiLED providers so mock-only fields don't leak through to non-mock client constructors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,4 +17,6 @@ class AdalightDeviceProvider(SerialDeviceProvider):
|
|||||||
led_count = kwargs.pop("led_count", 0)
|
led_count = kwargs.pop("led_count", 0)
|
||||||
baud_rate = kwargs.pop("baud_rate", None)
|
baud_rate = kwargs.pop("baud_rate", None)
|
||||||
kwargs.pop("use_ddp", None) # Not applicable for serial
|
kwargs.pop("use_ddp", None) # Not applicable for serial
|
||||||
return AdalightClient(url, led_count=led_count, baud_rate=baud_rate, **kwargs)
|
kwargs.pop("send_latency_ms", None)
|
||||||
|
kwargs.pop("rgbw", None)
|
||||||
|
return AdalightClient(url, led_count=led_count, baud_rate=baud_rate)
|
||||||
|
|||||||
@@ -17,4 +17,6 @@ class AmbiLEDDeviceProvider(SerialDeviceProvider):
|
|||||||
led_count = kwargs.pop("led_count", 0)
|
led_count = kwargs.pop("led_count", 0)
|
||||||
baud_rate = kwargs.pop("baud_rate", None)
|
baud_rate = kwargs.pop("baud_rate", None)
|
||||||
kwargs.pop("use_ddp", None)
|
kwargs.pop("use_ddp", None)
|
||||||
return AmbiLEDClient(url, led_count=led_count, baud_rate=baud_rate, **kwargs)
|
kwargs.pop("send_latency_ms", None)
|
||||||
|
kwargs.pop("rgbw", None)
|
||||||
|
return AmbiLEDClient(url, led_count=led_count, baud_rate=baud_rate)
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ class WLEDDeviceProvider(LEDDeviceProvider):
|
|||||||
from wled_controller.core.devices.wled_client import WLEDClient
|
from wled_controller.core.devices.wled_client import WLEDClient
|
||||||
kwargs.pop("led_count", None)
|
kwargs.pop("led_count", None)
|
||||||
kwargs.pop("baud_rate", None)
|
kwargs.pop("baud_rate", None)
|
||||||
|
kwargs.pop("send_latency_ms", None)
|
||||||
|
kwargs.pop("rgbw", None)
|
||||||
return WLEDClient(url, **kwargs)
|
return WLEDClient(url, **kwargs)
|
||||||
|
|
||||||
async def check_health(self, url: str, http_client, prev_health=None) -> DeviceHealth:
|
async def check_health(self, url: str, http_client, prev_health=None) -> DeviceHealth:
|
||||||
|
|||||||
Reference in New Issue
Block a user