From de8bbaadd17a3011fe0b9875b2f66f82ddb6f278 Mon Sep 17 00:00:00 2001 From: Antoine Reversat <a.reversat@gmail.com> Date: Tue, 27 Aug 2024 10:26:18 -0400 Subject: [PATCH] Fix review comments in fglair (#124710) * Replace if len() == 0 with if not * Replace list + filter with list comprehensions * Move consts that are only used in one module to said module --- .../components/fujitsu_fglair/climate.py | 52 +++++++++++++++---- .../components/fujitsu_fglair/config_flow.py | 2 +- .../components/fujitsu_fglair/const.py | 39 -------------- .../components/fujitsu_fglair/coordinator.py | 10 ++-- .../components/fujitsu_fglair/test_climate.py | 2 +- 5 files changed, 49 insertions(+), 56 deletions(-) diff --git a/homeassistant/components/fujitsu_fglair/climate.py b/homeassistant/components/fujitsu_fglair/climate.py index 558f4b73a18..726096eab1a 100644 --- a/homeassistant/components/fujitsu_fglair/climate.py +++ b/homeassistant/components/fujitsu_fglair/climate.py @@ -2,9 +2,23 @@ from typing import Any -from ayla_iot_unofficial.fujitsu_hvac import Capability, FujitsuHVAC +from ayla_iot_unofficial.fujitsu_hvac import ( + Capability, + FanSpeed, + FujitsuHVAC, + OpMode, + SwingMode, +) from homeassistant.components.climate import ( + FAN_AUTO, + FAN_HIGH, + FAN_LOW, + FAN_MEDIUM, + SWING_BOTH, + SWING_HORIZONTAL, + SWING_OFF, + SWING_VERTICAL, ClimateEntity, ClimateEntityFeature, HVACMode, @@ -16,17 +30,35 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity from . import FGLairConfigEntry -from .const import ( - DOMAIN, - FUJI_TO_HA_FAN, - FUJI_TO_HA_HVAC, - FUJI_TO_HA_SWING, - HA_TO_FUJI_FAN, - HA_TO_FUJI_HVAC, - HA_TO_FUJI_SWING, -) +from .const import DOMAIN from .coordinator import FGLairCoordinator +HA_TO_FUJI_FAN = { + FAN_LOW: FanSpeed.LOW, + FAN_MEDIUM: FanSpeed.MEDIUM, + FAN_HIGH: FanSpeed.HIGH, + FAN_AUTO: FanSpeed.AUTO, +} +FUJI_TO_HA_FAN = {value: key for key, value in HA_TO_FUJI_FAN.items()} + +HA_TO_FUJI_HVAC = { + HVACMode.OFF: OpMode.OFF, + HVACMode.HEAT: OpMode.HEAT, + HVACMode.COOL: OpMode.COOL, + HVACMode.HEAT_COOL: OpMode.AUTO, + HVACMode.DRY: OpMode.DRY, + HVACMode.FAN_ONLY: OpMode.FAN, +} +FUJI_TO_HA_HVAC = {value: key for key, value in HA_TO_FUJI_HVAC.items()} + +HA_TO_FUJI_SWING = { + SWING_OFF: SwingMode.OFF, + SWING_VERTICAL: SwingMode.SWING_VERTICAL, + SWING_HORIZONTAL: SwingMode.SWING_HORIZONTAL, + SWING_BOTH: SwingMode.SWING_BOTH, +} +FUJI_TO_HA_SWING = {value: key for key, value in HA_TO_FUJI_SWING.items()} + async def async_setup_entry( hass: HomeAssistant, diff --git a/homeassistant/components/fujitsu_fglair/config_flow.py b/homeassistant/components/fujitsu_fglair/config_flow.py index db1975298a8..5021e495656 100644 --- a/homeassistant/components/fujitsu_fglair/config_flow.py +++ b/homeassistant/components/fujitsu_fglair/config_flow.py @@ -70,7 +70,7 @@ class FGLairConfigFlow(ConfigFlow, domain=DOMAIN): self._abort_if_unique_id_configured() errors = await self._async_validate_credentials(user_input) - if len(errors) == 0: + if not errors: return self.async_create_entry( title=f"FGLair ({user_input[CONF_USERNAME]})", data=user_input, diff --git a/homeassistant/components/fujitsu_fglair/const.py b/homeassistant/components/fujitsu_fglair/const.py index 0e93361f20b..a9d485281a3 100644 --- a/homeassistant/components/fujitsu_fglair/const.py +++ b/homeassistant/components/fujitsu_fglair/const.py @@ -6,19 +6,6 @@ from ayla_iot_unofficial.fujitsu_consts import ( # noqa: F401 FGLAIR_APP_ID, FGLAIR_APP_SECRET, ) -from ayla_iot_unofficial.fujitsu_hvac import FanSpeed, OpMode, SwingMode - -from homeassistant.components.climate import ( - FAN_AUTO, - FAN_HIGH, - FAN_LOW, - FAN_MEDIUM, - SWING_BOTH, - SWING_HORIZONTAL, - SWING_OFF, - SWING_VERTICAL, - HVACMode, -) API_TIMEOUT = 10 API_REFRESH = timedelta(minutes=5) @@ -26,29 +13,3 @@ API_REFRESH = timedelta(minutes=5) DOMAIN = "fujitsu_fglair" CONF_EUROPE = "is_europe" - -HA_TO_FUJI_FAN = { - FAN_LOW: FanSpeed.LOW, - FAN_MEDIUM: FanSpeed.MEDIUM, - FAN_HIGH: FanSpeed.HIGH, - FAN_AUTO: FanSpeed.AUTO, -} -FUJI_TO_HA_FAN = {value: key for key, value in HA_TO_FUJI_FAN.items()} - -HA_TO_FUJI_HVAC = { - HVACMode.OFF: OpMode.OFF, - HVACMode.HEAT: OpMode.HEAT, - HVACMode.COOL: OpMode.COOL, - HVACMode.HEAT_COOL: OpMode.AUTO, - HVACMode.DRY: OpMode.DRY, - HVACMode.FAN_ONLY: OpMode.FAN, -} -FUJI_TO_HA_HVAC = {value: key for key, value in HA_TO_FUJI_HVAC.items()} - -HA_TO_FUJI_SWING = { - SWING_OFF: SwingMode.OFF, - SWING_VERTICAL: SwingMode.SWING_VERTICAL, - SWING_HORIZONTAL: SwingMode.SWING_HORIZONTAL, - SWING_BOTH: SwingMode.SWING_BOTH, -} -FUJI_TO_HA_SWING = {value: key for key, value in HA_TO_FUJI_SWING.items()} diff --git a/homeassistant/components/fujitsu_fglair/coordinator.py b/homeassistant/components/fujitsu_fglair/coordinator.py index 902464bdd80..eac3cfd6ce5 100644 --- a/homeassistant/components/fujitsu_fglair/coordinator.py +++ b/homeassistant/components/fujitsu_fglair/coordinator.py @@ -47,12 +47,12 @@ class FGLairCoordinator(DataUpdateCoordinator[dict[str, FujitsuHVAC]]): except AylaAuthError as e: raise ConfigEntryAuthFailed("Credentials expired for Ayla IoT API") from e - if len(listening_entities) == 0: - devices = list(filter(lambda x: isinstance(x, FujitsuHVAC), devices)) + if not listening_entities: + devices = [dev for dev in devices if isinstance(dev, FujitsuHVAC)] else: - devices = list( - filter(lambda x: x.device_serial_number in listening_entities, devices) - ) + devices = [ + dev for dev in devices if dev.device_serial_number in listening_entities + ] try: for dev in devices: diff --git a/tests/components/fujitsu_fglair/test_climate.py b/tests/components/fujitsu_fglair/test_climate.py index fd016e4e226..daddc83a871 100644 --- a/tests/components/fujitsu_fglair/test_climate.py +++ b/tests/components/fujitsu_fglair/test_climate.py @@ -18,7 +18,7 @@ from homeassistant.components.climate import ( SWING_BOTH, HVACMode, ) -from homeassistant.components.fujitsu_fglair.const import ( +from homeassistant.components.fujitsu_fglair.climate import ( HA_TO_FUJI_FAN, HA_TO_FUJI_HVAC, HA_TO_FUJI_SWING, -- GitLab