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