Skip to content

Commit

Permalink
Explicitly pass in the config_entry in jellyfin coordinator (#138129)
Browse files Browse the repository at this point in the history
explicitly pass in the config_entry in coordinator
  • Loading branch information
mib1185 authored Feb 9, 2025
1 parent fd57803 commit 6d2f8b1
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 15 deletions.
9 changes: 4 additions & 5 deletions homeassistant/components/jellyfin/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@

from typing import Any

from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr

from .client_wrapper import CannotConnect, InvalidAuth, create_client, validate_input
from .const import CONF_CLIENT_DEVICE_ID, DOMAIN, PLATFORMS
from .coordinator import JellyfinDataUpdateCoordinator

type JellyfinConfigEntry = ConfigEntry[JellyfinDataUpdateCoordinator]
from .coordinator import JellyfinConfigEntry, JellyfinDataUpdateCoordinator


async def async_setup_entry(hass: HomeAssistant, entry: JellyfinConfigEntry) -> bool:
Expand All @@ -35,7 +32,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: JellyfinConfigEntry) ->

server_info: dict[str, Any] = connect_result["Servers"][0]

coordinator = JellyfinDataUpdateCoordinator(hass, client, server_info, user_id)
coordinator = JellyfinDataUpdateCoordinator(
hass, entry, client, server_info, user_id
)

await coordinator.async_config_entry_first_refresh()

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/jellyfin/config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
from homeassistant.core import callback
from homeassistant.util.uuid import random_uuid_hex

from . import JellyfinConfigEntry
from .client_wrapper import CannotConnect, InvalidAuth, create_client, validate_input
from .const import CONF_CLIENT_DEVICE_ID, DOMAIN, SUPPORTED_AUDIO_CODECS
from .coordinator import JellyfinConfigEntry

_LOGGER = logging.getLogger(__name__)

Expand Down
8 changes: 6 additions & 2 deletions homeassistant/components/jellyfin/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,18 @@

from .const import CONF_CLIENT_DEVICE_ID, DOMAIN, LOGGER, USER_APP_NAME

type JellyfinConfigEntry = ConfigEntry[JellyfinDataUpdateCoordinator]


class JellyfinDataUpdateCoordinator(DataUpdateCoordinator[dict[str, dict[str, Any]]]):
"""Data update coordinator for the Jellyfin integration."""

config_entry: ConfigEntry
config_entry: JellyfinConfigEntry

def __init__(
self,
hass: HomeAssistant,
config_entry: JellyfinConfigEntry,
api_client: JellyfinClient,
system_info: dict[str, Any],
user_id: str,
Expand All @@ -30,14 +33,15 @@ def __init__(
super().__init__(
hass=hass,
logger=LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=timedelta(seconds=10),
)
self.api_client = api_client
self.server_id: str = system_info["Id"]
self.server_name: str = system_info["Name"]
self.server_version: str | None = system_info.get("Version")
self.client_device_id: str = self.config_entry.data[CONF_CLIENT_DEVICE_ID]
self.client_device_id: str = config_entry.data[CONF_CLIENT_DEVICE_ID]
self.user_id: str = user_id

self.session_ids: set[str] = set()
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/jellyfin/diagnostics.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from homeassistant.const import CONF_PASSWORD
from homeassistant.core import HomeAssistant

from . import JellyfinConfigEntry
from .coordinator import JellyfinConfigEntry

TO_REDACT = {CONF_PASSWORD}

Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/jellyfin/media_player.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.dt import parse_datetime

from . import JellyfinConfigEntry
from .browse_media import build_item_response, build_root_response
from .client_wrapper import get_artwork_url
from .const import CONTENT_TYPE_MAP, LOGGER
from .coordinator import JellyfinDataUpdateCoordinator
from .coordinator import JellyfinConfigEntry, JellyfinDataUpdateCoordinator
from .entity import JellyfinClientEntity


Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/jellyfin/media_source.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
)
from homeassistant.core import HomeAssistant

from . import JellyfinConfigEntry
from .const import (
COLLECTION_TYPE_MOVIES,
COLLECTION_TYPE_MUSIC,
Expand Down Expand Up @@ -48,6 +47,7 @@
PLAYABLE_ITEM_TYPES,
SUPPORTED_COLLECTION_TYPES,
)
from .coordinator import JellyfinConfigEntry

_LOGGER = logging.getLogger(__name__)

Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/jellyfin/remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback

from . import JellyfinConfigEntry
from .const import LOGGER
from .coordinator import JellyfinDataUpdateCoordinator
from .coordinator import JellyfinConfigEntry, JellyfinDataUpdateCoordinator
from .entity import JellyfinClientEntity


Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/jellyfin/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import StateType

from . import JellyfinConfigEntry, JellyfinDataUpdateCoordinator
from .coordinator import JellyfinConfigEntry, JellyfinDataUpdateCoordinator
from .entity import JellyfinServerEntity


Expand Down

0 comments on commit 6d2f8b1

Please sign in to comment.