diff --git a/.strict-typing b/.strict-typing index 783395ff926..4aa0a44c96d 100644 --- a/.strict-typing +++ b/.strict-typing @@ -345,6 +345,7 @@ homeassistant.components.trafikverket_camera.* homeassistant.components.trafikverket_ferry.* homeassistant.components.trafikverket_train.* homeassistant.components.trafikverket_weatherstation.* +homeassistant.components.transmission.* homeassistant.components.trend.* homeassistant.components.tts.* homeassistant.components.twentemilieu.* diff --git a/homeassistant/components/transmission/const.py b/homeassistant/components/transmission/const.py index cb31d5a5aac..77d2baf7213 100644 --- a/homeassistant/components/transmission/const.py +++ b/homeassistant/components/transmission/const.py @@ -1,4 +1,10 @@ """Constants for the Transmission Bittorent Client component.""" +from __future__ import annotations + +from collections.abc import Callable + +from transmission_rpc import Torrent + DOMAIN = "transmission" SWITCH_TYPES = {"on_off": "Switch", "turtle_mode": "Turtle mode"} @@ -8,7 +14,7 @@ ORDER_OLDEST_FIRST = "oldest_first" ORDER_BEST_RATIO_FIRST = "best_ratio_first" ORDER_WORST_RATIO_FIRST = "worst_ratio_first" -SUPPORTED_ORDER_MODES = { +SUPPORTED_ORDER_MODES: dict[str, Callable[[list[Torrent]], list[Torrent]]] = { ORDER_NEWEST_FIRST: lambda torrents: sorted( torrents, key=lambda t: t.date_added, reverse=True ), diff --git a/homeassistant/components/transmission/coordinator.py b/homeassistant/components/transmission/coordinator.py index 5fce7cae53d..a9cfc93eea0 100644 --- a/homeassistant/components/transmission/coordinator.py +++ b/homeassistant/components/transmission/coordinator.py @@ -163,4 +163,4 @@ class TransmissionDataUpdateCoordinator(DataUpdateCoordinator[SessionStats]): if self._session is None: return None - return self._session.alt_speed_enabled + return self._session.alt_speed_enabled # type: ignore[no-any-return] diff --git a/mypy.ini b/mypy.ini index 0bc95fa5970..40d57a6b430 100644 --- a/mypy.ini +++ b/mypy.ini @@ -3212,6 +3212,16 @@ disallow_untyped_defs = true warn_return_any = true warn_unreachable = true +[mypy-homeassistant.components.transmission.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +warn_return_any = true +warn_unreachable = true + [mypy-homeassistant.components.trend.*] check_untyped_defs = true disallow_incomplete_defs = true