From 5d78632d045a9e8cd31e3a100fb958996172b752 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 16 Nov 2022 14:44:08 +0100 Subject: [PATCH] Adjust type hints for CameraEntityFeature (#82191) --- homeassistant/components/camera/__init__.py | 4 ++-- homeassistant/components/netatmo/camera.py | 4 ++-- homeassistant/components/unifiprotect/camera.py | 2 +- homeassistant/components/uvc/camera.py | 2 +- pylint/plugins/hass_enforce_type_hints.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/camera/__init__.py b/homeassistant/components/camera/__init__.py index 227b1e0c9b7..0b103c6a4ff 100644 --- a/homeassistant/components/camera/__init__.py +++ b/homeassistant/components/camera/__init__.py @@ -429,7 +429,7 @@ class Camera(Entity): _attr_motion_detection_enabled: bool = False _attr_should_poll: bool = False # No need to poll cameras _attr_state: None = None # State is determined by is_on - _attr_supported_features: int = 0 + _attr_supported_features: CameraEntityFeature | int = 0 def __init__(self) -> None: """Initialize a camera.""" @@ -450,7 +450,7 @@ class Camera(Entity): return ENTITY_IMAGE_URL.format(self.entity_id, self.access_tokens[-1]) @property - def supported_features(self) -> int: + def supported_features(self) -> CameraEntityFeature | int: """Flag supported features.""" return self._attr_supported_features diff --git a/homeassistant/components/netatmo/camera.py b/homeassistant/components/netatmo/camera.py index 9254ff6e284..01c459acaea 100644 --- a/homeassistant/components/netatmo/camera.py +++ b/homeassistant/components/netatmo/camera.py @@ -179,9 +179,9 @@ class NetatmoCamera(NetatmoBase, Camera): return None @property - def supported_features(self) -> int: + def supported_features(self) -> CameraEntityFeature: """Return supported features.""" - supported_features: int = CameraEntityFeature.ON_OFF + supported_features = CameraEntityFeature.ON_OFF if self._model != "NDB": supported_features |= CameraEntityFeature.STREAM return supported_features diff --git a/homeassistant/components/unifiprotect/camera.py b/homeassistant/components/unifiprotect/camera.py index 8f561e5556f..5f858614ace 100644 --- a/homeassistant/components/unifiprotect/camera.py +++ b/homeassistant/components/unifiprotect/camera.py @@ -175,7 +175,7 @@ class ProtectCamera(ProtectDeviceEntity, Camera): self._stream_source = ( # pylint: disable=attribute-defined-outside-init None if disable_stream else rtsp_url ) - self._attr_supported_features: int = ( + self._attr_supported_features = ( CameraEntityFeature.STREAM if self._stream_source else 0 ) diff --git a/homeassistant/components/uvc/camera.py b/homeassistant/components/uvc/camera.py index c64642077da..28a221fd131 100644 --- a/homeassistant/components/uvc/camera.py +++ b/homeassistant/components/uvc/camera.py @@ -107,7 +107,7 @@ class UnifiVideoCamera(Camera): return self._name @property - def supported_features(self) -> int: + def supported_features(self) -> CameraEntityFeature | int: """Return supported features.""" channels = self._caminfo["channels"] for channel in channels: diff --git a/pylint/plugins/hass_enforce_type_hints.py b/pylint/plugins/hass_enforce_type_hints.py index 6562785180d..2774fc54b02 100644 --- a/pylint/plugins/hass_enforce_type_hints.py +++ b/pylint/plugins/hass_enforce_type_hints.py @@ -803,7 +803,7 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = { ), TypeHintMatch( function_name="supported_features", - return_type="int", + return_type=["CameraEntityFeature", "int"], ), TypeHintMatch( function_name="is_recording",