Explicitly pass in the config_entry in transmission coordinator (#137891)
explicitly pass in the config_entry in coordinatorpull/138060/head
parent
3153c54d1a
commit
cce03d2ee7
|
@ -15,7 +15,7 @@ from transmission_rpc.error import (
|
|||
)
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry, ConfigEntryState
|
||||
from homeassistant.config_entries import ConfigEntryState
|
||||
from homeassistant.const import (
|
||||
CONF_HOST,
|
||||
CONF_ID,
|
||||
|
@ -54,7 +54,7 @@ from .const import (
|
|||
SERVICE_START_TORRENT,
|
||||
SERVICE_STOP_TORRENT,
|
||||
)
|
||||
from .coordinator import TransmissionDataUpdateCoordinator
|
||||
from .coordinator import TransmissionConfigEntry, TransmissionDataUpdateCoordinator
|
||||
from .errors import AuthenticationError, CannotConnect, UnknownError
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
@ -117,8 +117,6 @@ SERVICE_STOP_TORRENT_SCHEMA = vol.All(
|
|||
|
||||
CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)
|
||||
|
||||
type TransmissionConfigEntry = ConfigEntry[TransmissionDataUpdateCoordinator]
|
||||
|
||||
|
||||
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
||||
"""Set up the Transmission component."""
|
||||
|
@ -167,12 +165,16 @@ async def async_setup_entry(
|
|||
return True
|
||||
|
||||
|
||||
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
|
||||
async def async_unload_entry(
|
||||
hass: HomeAssistant, config_entry: TransmissionConfigEntry
|
||||
) -> bool:
|
||||
"""Unload Transmission Entry from config_entry."""
|
||||
return await hass.config_entries.async_unload_platforms(config_entry, PLATFORMS)
|
||||
|
||||
|
||||
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
|
||||
async def async_migrate_entry(
|
||||
hass: HomeAssistant, config_entry: TransmissionConfigEntry
|
||||
) -> bool:
|
||||
"""Migrate an old config entry."""
|
||||
_LOGGER.debug(
|
||||
"Migrating from version %s.%s",
|
||||
|
|
|
@ -27,17 +27,21 @@ from .const import (
|
|||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
type TransmissionConfigEntry = ConfigEntry[TransmissionDataUpdateCoordinator]
|
||||
|
||||
|
||||
class TransmissionDataUpdateCoordinator(DataUpdateCoordinator[SessionStats]):
|
||||
"""Transmission dataupdate coordinator class."""
|
||||
|
||||
config_entry: ConfigEntry
|
||||
config_entry: TransmissionConfigEntry
|
||||
|
||||
def __init__(
|
||||
self, hass: HomeAssistant, entry: ConfigEntry, api: transmission_rpc.Client
|
||||
self,
|
||||
hass: HomeAssistant,
|
||||
entry: TransmissionConfigEntry,
|
||||
api: transmission_rpc.Client,
|
||||
) -> None:
|
||||
"""Initialize the Transmission RPC API."""
|
||||
self.config_entry = entry
|
||||
self.api = api
|
||||
self.host = entry.data[CONF_HOST]
|
||||
self._session: transmission_rpc.Session | None = None
|
||||
|
@ -47,6 +51,7 @@ class TransmissionDataUpdateCoordinator(DataUpdateCoordinator[SessionStats]):
|
|||
self.torrents: list[transmission_rpc.Torrent] = []
|
||||
super().__init__(
|
||||
hass,
|
||||
config_entry=entry,
|
||||
name=f"{DOMAIN} - {self.host}",
|
||||
logger=_LOGGER,
|
||||
update_interval=timedelta(seconds=DEFAULT_SCAN_INTERVAL),
|
||||
|
|
|
@ -21,7 +21,6 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
|||
from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from . import TransmissionConfigEntry
|
||||
from .const import (
|
||||
DOMAIN,
|
||||
STATE_ATTR_TORRENT_INFO,
|
||||
|
@ -30,7 +29,7 @@ from .const import (
|
|||
STATE_UP_DOWN,
|
||||
SUPPORTED_ORDER_MODES,
|
||||
)
|
||||
from .coordinator import TransmissionDataUpdateCoordinator
|
||||
from .coordinator import TransmissionConfigEntry, TransmissionDataUpdateCoordinator
|
||||
|
||||
MODES: dict[str, list[str] | None] = {
|
||||
"started_torrents": ["downloading"],
|
||||
|
|
|
@ -10,9 +10,8 @@ from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
|
|||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from . import TransmissionConfigEntry
|
||||
from .const import DOMAIN
|
||||
from .coordinator import TransmissionDataUpdateCoordinator
|
||||
from .coordinator import TransmissionConfigEntry, TransmissionDataUpdateCoordinator
|
||||
|
||||
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
|
|
Loading…
Reference in New Issue