From a91abebea8ce354ea108e3def1e2ef3782599332 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 16 Nov 2022 12:43:17 +0100 Subject: [PATCH] Use IntFlag for EntityFeature (#81903) --- homeassistant/components/alarm_control_panel/const.py | 4 ++-- homeassistant/components/camera/__init__.py | 4 ++-- homeassistant/components/climate/const.py | 4 ++-- homeassistant/components/cover/__init__.py | 4 ++-- homeassistant/components/fan/__init__.py | 4 ++-- homeassistant/components/humidifier/const.py | 4 ++-- homeassistant/components/light/__init__.py | 4 ++-- homeassistant/components/lock/__init__.py | 4 ++-- homeassistant/components/media_player/const.py | 4 ++-- homeassistant/components/remote/__init__.py | 4 ++-- homeassistant/components/siren/const.py | 4 ++-- homeassistant/components/update/const.py | 4 ++-- homeassistant/components/vacuum/__init__.py | 4 ++-- homeassistant/components/water_heater/__init__.py | 4 ++-- 14 files changed, 28 insertions(+), 28 deletions(-) diff --git a/homeassistant/components/alarm_control_panel/const.py b/homeassistant/components/alarm_control_panel/const.py index 3a2f2c51551..e6e628f834d 100644 --- a/homeassistant/components/alarm_control_panel/const.py +++ b/homeassistant/components/alarm_control_panel/const.py @@ -1,5 +1,5 @@ """Provides the constants needed for component.""" -from enum import IntEnum +from enum import IntFlag from typing import Final from homeassistant.backports.enum import StrEnum @@ -23,7 +23,7 @@ FORMAT_TEXT: Final = "text" FORMAT_NUMBER: Final = "number" -class AlarmControlPanelEntityFeature(IntEnum): +class AlarmControlPanelEntityFeature(IntFlag): """Supported features of the alarm control panel entity.""" ARM_HOME = 1 diff --git a/homeassistant/components/camera/__init__.py b/homeassistant/components/camera/__init__.py index a8c6b1ea517..227b1e0c9b7 100644 --- a/homeassistant/components/camera/__init__.py +++ b/homeassistant/components/camera/__init__.py @@ -7,7 +7,7 @@ from collections.abc import Awaitable, Callable, Iterable from contextlib import suppress from dataclasses import asdict, dataclass from datetime import datetime, timedelta -from enum import IntEnum +from enum import IntFlag from functools import partial import logging import os @@ -95,7 +95,7 @@ STATE_STREAMING: Final = "streaming" STATE_IDLE: Final = "idle" -class CameraEntityFeature(IntEnum): +class CameraEntityFeature(IntFlag): """Supported features of the camera entity.""" ON_OFF = 1 diff --git a/homeassistant/components/climate/const.py b/homeassistant/components/climate/const.py index 202da1af597..9ee561b9c1b 100644 --- a/homeassistant/components/climate/const.py +++ b/homeassistant/components/climate/const.py @@ -1,6 +1,6 @@ """Provides the constants needed for component.""" -from enum import IntEnum +from enum import IntFlag from homeassistant.backports.enum import StrEnum @@ -146,7 +146,7 @@ SERVICE_SET_SWING_MODE = "set_swing_mode" SERVICE_SET_TEMPERATURE = "set_temperature" -class ClimateEntityFeature(IntEnum): +class ClimateEntityFeature(IntFlag): """Supported features of the climate entity.""" TARGET_TEMPERATURE = 1 diff --git a/homeassistant/components/cover/__init__.py b/homeassistant/components/cover/__init__.py index 57187c56819..8b4aa79659d 100644 --- a/homeassistant/components/cover/__init__.py +++ b/homeassistant/components/cover/__init__.py @@ -4,7 +4,7 @@ from __future__ import annotations from collections.abc import Callable from dataclasses import dataclass from datetime import timedelta -from enum import IntEnum +from enum import IntFlag import functools as ft import logging from typing import Any, TypeVar, final @@ -86,7 +86,7 @@ DEVICE_CLASS_WINDOW = CoverDeviceClass.WINDOW.value # mypy: disallow-any-generics -class CoverEntityFeature(IntEnum): +class CoverEntityFeature(IntFlag): """Supported features of the cover entity.""" OPEN = 1 diff --git a/homeassistant/components/fan/__init__.py b/homeassistant/components/fan/__init__.py index d44335fad07..b65e6f75b3e 100644 --- a/homeassistant/components/fan/__init__.py +++ b/homeassistant/components/fan/__init__.py @@ -3,7 +3,7 @@ from __future__ import annotations from dataclasses import dataclass from datetime import timedelta -from enum import IntEnum +from enum import IntFlag import functools as ft import logging import math @@ -41,7 +41,7 @@ SCAN_INTERVAL = timedelta(seconds=30) ENTITY_ID_FORMAT = DOMAIN + ".{}" -class FanEntityFeature(IntEnum): +class FanEntityFeature(IntFlag): """Supported features of the fan entity.""" SET_SPEED = 1 diff --git a/homeassistant/components/humidifier/const.py b/homeassistant/components/humidifier/const.py index 03f89f5489a..1f802f7fa36 100644 --- a/homeassistant/components/humidifier/const.py +++ b/homeassistant/components/humidifier/const.py @@ -1,5 +1,5 @@ """Provides the constants needed for component.""" -from enum import IntEnum +from enum import IntFlag MODE_NORMAL = "normal" MODE_ECO = "eco" @@ -30,7 +30,7 @@ SERVICE_SET_MODE = "set_mode" SERVICE_SET_HUMIDITY = "set_humidity" -class HumidifierEntityFeature(IntEnum): +class HumidifierEntityFeature(IntFlag): """Supported features of the alarm control panel entity.""" MODES = 1 diff --git a/homeassistant/components/light/__init__.py b/homeassistant/components/light/__init__.py index 5bf72b7267b..098b627cf48 100644 --- a/homeassistant/components/light/__init__.py +++ b/homeassistant/components/light/__init__.py @@ -5,7 +5,7 @@ from collections.abc import Iterable import csv import dataclasses from datetime import timedelta -from enum import IntEnum +from enum import IntFlag import logging import os from typing import Any, cast, final @@ -41,7 +41,7 @@ DATA_PROFILES = "light_profiles" ENTITY_ID_FORMAT = DOMAIN + ".{}" -class LightEntityFeature(IntEnum): +class LightEntityFeature(IntFlag): """Supported features of the light entity.""" EFFECT = 4 diff --git a/homeassistant/components/lock/__init__.py b/homeassistant/components/lock/__init__.py index d241d57e128..a8166e9e3bd 100644 --- a/homeassistant/components/lock/__init__.py +++ b/homeassistant/components/lock/__init__.py @@ -3,7 +3,7 @@ from __future__ import annotations from dataclasses import dataclass from datetime import timedelta -from enum import IntEnum +from enum import IntFlag import functools as ft import logging from typing import Any, final @@ -48,7 +48,7 @@ MIN_TIME_BETWEEN_SCANS = timedelta(seconds=10) LOCK_SERVICE_SCHEMA = make_entity_service_schema({vol.Optional(ATTR_CODE): cv.string}) -class LockEntityFeature(IntEnum): +class LockEntityFeature(IntFlag): """Supported features of the lock entity.""" OPEN = 1 diff --git a/homeassistant/components/media_player/const.py b/homeassistant/components/media_player/const.py index ea8069cc7e4..1cc90aa4904 100644 --- a/homeassistant/components/media_player/const.py +++ b/homeassistant/components/media_player/const.py @@ -1,5 +1,5 @@ """Provides the constants needed for component.""" -from enum import IntEnum +from enum import IntFlag from homeassistant.backports.enum import StrEnum @@ -176,7 +176,7 @@ REPEAT_MODE_ONE = "one" REPEAT_MODES = [REPEAT_MODE_OFF, REPEAT_MODE_ALL, REPEAT_MODE_ONE] -class MediaPlayerEntityFeature(IntEnum): +class MediaPlayerEntityFeature(IntFlag): """Supported features of the media player entity.""" PAUSE = 1 diff --git a/homeassistant/components/remote/__init__.py b/homeassistant/components/remote/__init__.py index 6ba5ca89d2d..74535c44228 100644 --- a/homeassistant/components/remote/__init__.py +++ b/homeassistant/components/remote/__init__.py @@ -4,7 +4,7 @@ from __future__ import annotations from collections.abc import Iterable from dataclasses import dataclass from datetime import timedelta -from enum import IntEnum +from enum import IntFlag import functools as ft import logging from typing import Any, final @@ -61,7 +61,7 @@ DEFAULT_DELAY_SECS = 0.4 DEFAULT_HOLD_SECS = 0 -class RemoteEntityFeature(IntEnum): +class RemoteEntityFeature(IntFlag): """Supported features of the remote entity.""" LEARN_COMMAND = 1 diff --git a/homeassistant/components/siren/const.py b/homeassistant/components/siren/const.py index 6ef7c9e6955..374b1d59e2a 100644 --- a/homeassistant/components/siren/const.py +++ b/homeassistant/components/siren/const.py @@ -1,6 +1,6 @@ """Constants for the siren component.""" -from enum import IntEnum +from enum import IntFlag from typing import Final DOMAIN: Final = "siren" @@ -12,7 +12,7 @@ ATTR_DURATION: Final = "duration" ATTR_VOLUME_LEVEL: Final = "volume_level" -class SirenEntityFeature(IntEnum): +class SirenEntityFeature(IntFlag): """Supported features of the siren entity.""" TURN_ON = 1 diff --git a/homeassistant/components/update/const.py b/homeassistant/components/update/const.py index aec3c183a63..c9340473298 100644 --- a/homeassistant/components/update/const.py +++ b/homeassistant/components/update/const.py @@ -1,13 +1,13 @@ """Constants for the update component.""" from __future__ import annotations -from enum import IntEnum +from enum import IntFlag from typing import Final DOMAIN: Final = "update" -class UpdateEntityFeature(IntEnum): +class UpdateEntityFeature(IntFlag): """Supported features of the update entity.""" INSTALL = 1 diff --git a/homeassistant/components/vacuum/__init__.py b/homeassistant/components/vacuum/__init__.py index 4488f8062d6..6a7efe4fa56 100644 --- a/homeassistant/components/vacuum/__init__.py +++ b/homeassistant/components/vacuum/__init__.py @@ -4,7 +4,7 @@ from __future__ import annotations from collections.abc import Mapping from dataclasses import dataclass from datetime import timedelta -from enum import IntEnum +from enum import IntFlag from functools import partial import logging from typing import Any, final @@ -74,7 +74,7 @@ STATES = [STATE_CLEANING, STATE_DOCKED, STATE_RETURNING, STATE_ERROR] DEFAULT_NAME = "Vacuum cleaner robot" -class VacuumEntityFeature(IntEnum): +class VacuumEntityFeature(IntFlag): """Supported features of the vacuum entity.""" TURN_ON = 1 diff --git a/homeassistant/components/water_heater/__init__.py b/homeassistant/components/water_heater/__init__.py index 4712d4a2701..ed12a1a6cf9 100644 --- a/homeassistant/components/water_heater/__init__.py +++ b/homeassistant/components/water_heater/__init__.py @@ -4,7 +4,7 @@ from __future__ import annotations from collections.abc import Mapping from dataclasses import dataclass from datetime import timedelta -from enum import IntEnum +from enum import IntFlag import functools as ft import logging from typing import Any, final @@ -56,7 +56,7 @@ STATE_HEAT_PUMP = "heat_pump" STATE_GAS = "gas" -class WaterHeaterEntityFeature(IntEnum): +class WaterHeaterEntityFeature(IntFlag): """Supported features of the fan entity.""" TARGET_TEMPERATURE = 1