Adjust type hints in update entity (#129387)

* Adjust type hints in update entity

* Update allowed return type of update_percentage

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
This commit is contained in:
Erik Montnemery 2025-03-03 10:17:13 +01:00 committed by GitHub
parent 7e4432e321
commit 3c363eb5ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 4 deletions

View File

@ -226,7 +226,7 @@ class UpdateEntity(
_attr_installed_version: str | None = None
_attr_device_class: UpdateDeviceClass | None
_attr_display_precision: int
_attr_in_progress: bool | int = False
_attr_in_progress: bool = False
_attr_latest_version: str | None = None
_attr_release_summary: str | None = None
_attr_release_url: str | None = None
@ -295,7 +295,7 @@ class UpdateEntity(
)
@cached_property
def in_progress(self) -> bool | int | None:
def in_progress(self) -> bool | None:
"""Update installation progress.
Needs UpdateEntityFeature.PROGRESS flag to be set for it to be used.
@ -442,7 +442,7 @@ class UpdateEntity(
in_progress = self.in_progress
update_percentage = self.update_percentage if in_progress else None
if type(in_progress) is not bool and isinstance(in_progress, int):
update_percentage = in_progress
update_percentage = in_progress # type: ignore[unreachable]
in_progress = True
else:
in_progress = self.__in_progress

View File

@ -2568,7 +2568,7 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = {
),
TypeHintMatch(
function_name="in_progress",
return_type=["bool", "int", None],
return_type=["bool", None],
),
TypeHintMatch(
function_name="latest_version",
@ -2590,6 +2590,10 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = {
function_name="title",
return_type=["str", None],
),
TypeHintMatch(
function_name="update_percentage",
return_type=["int", "float", None],
),
TypeHintMatch(
function_name="install",
arg_types={1: "str | None", 2: "bool"},