Make CoordinatorEntity generic (#49854)

This commit is contained in:
Ruslan Sayfutdinov 2021-04-30 21:24:27 +01:00 committed by GitHub
parent dc46a213a7
commit f53284b200
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6,7 +6,7 @@ from collections.abc import Awaitable
from datetime import datetime, timedelta from datetime import datetime, timedelta
import logging import logging
from time import monotonic from time import monotonic
from typing import Any, Callable, Generic, TypeVar from typing import Callable, Generic, TypeVar
import urllib.error import urllib.error
import aiohttp import aiohttp
@ -25,8 +25,6 @@ REQUEST_REFRESH_DEFAULT_IMMEDIATE = True
T = TypeVar("T") T = TypeVar("T")
# mypy: disallow-any-generics
class UpdateFailed(Exception): class UpdateFailed(Exception):
"""Raised when an update has failed.""" """Raised when an update has failed."""
@ -294,10 +292,10 @@ class DataUpdateCoordinator(Generic[T]):
self._unsub_refresh = None self._unsub_refresh = None
class CoordinatorEntity(entity.Entity): class CoordinatorEntity(Generic[T], entity.Entity):
"""A class for entities using DataUpdateCoordinator.""" """A class for entities using DataUpdateCoordinator."""
def __init__(self, coordinator: DataUpdateCoordinator[Any]) -> None: def __init__(self, coordinator: DataUpdateCoordinator[T]) -> None:
"""Create the entity with a DataUpdateCoordinator.""" """Create the entity with a DataUpdateCoordinator."""
self.coordinator = coordinator self.coordinator = coordinator