Explicitly pass in the config_entry in habitica coordinator (#138156)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-09 21:26:11 +01:00 committed by GitHub
parent 6b24bae084
commit a27dd08a7c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 27 additions and 38 deletions

View File

@ -9,9 +9,8 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.typing import ConfigType
from .const import CONF_API_USER, DOMAIN, X_CLIENT
from .coordinator import HabiticaDataUpdateCoordinator
from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator
from .services import async_setup_services
from .types import HabiticaConfigEntry
CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)
@ -51,7 +50,7 @@ async def async_setup_entry(
x_client=X_CLIENT,
)
coordinator = HabiticaDataUpdateCoordinator(hass, api)
coordinator = HabiticaDataUpdateCoordinator(hass, config_entry, api)
await coordinator.async_config_entry_first_refresh()
config_entry.runtime_data = coordinator

View File

@ -16,8 +16,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import ASSETS_URL
from .coordinator import HabiticaConfigEntry
from .entity import HabiticaBase
from .types import HabiticaConfigEntry
PARALLEL_UPDATES = 1

View File

@ -28,9 +28,12 @@ from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import ASSETS_URL, DOMAIN
from .coordinator import HabiticaData, HabiticaDataUpdateCoordinator
from .coordinator import (
HabiticaConfigEntry,
HabiticaData,
HabiticaDataUpdateCoordinator,
)
from .entity import HabiticaBase
from .types import HabiticaConfigEntry
PARALLEL_UPDATES = 1

View File

@ -21,8 +21,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util import dt as dt_util
from . import HabiticaConfigEntry
from .coordinator import HabiticaDataUpdateCoordinator
from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator
from .entity import HabiticaBase
from .util import build_rrule, get_recurrence_rule

View File

@ -33,7 +33,6 @@ from homeassistant.helpers.selector import (
TextSelectorType,
)
from . import HabiticaConfigEntry
from .const import (
CONF_API_USER,
DEFAULT_URL,
@ -47,6 +46,7 @@ from .const import (
SITE_DATA_URL,
X_CLIENT,
)
from .coordinator import HabiticaConfigEntry
STEP_ADVANCED_DATA_SCHEMA = vol.Schema(
{

View File

@ -46,16 +46,22 @@ class HabiticaData:
tasks: list[TaskData]
type HabiticaConfigEntry = ConfigEntry[HabiticaDataUpdateCoordinator]
class HabiticaDataUpdateCoordinator(DataUpdateCoordinator[HabiticaData]):
"""Habitica Data Update Coordinator."""
config_entry: ConfigEntry
def __init__(self, hass: HomeAssistant, habitica: Habitica) -> None:
def __init__(
self, hass: HomeAssistant, config_entry: ConfigEntry, habitica: Habitica
) -> None:
"""Initialize the Habitica data coordinator."""
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=timedelta(seconds=60),
request_refresh_debouncer=Debouncer(

View File

@ -8,7 +8,7 @@ from homeassistant.const import CONF_URL
from homeassistant.core import HomeAssistant
from .const import CONF_API_USER
from .types import HabiticaConfigEntry
from .coordinator import HabiticaConfigEntry
async def async_get_config_entry_diagnostics(

View File

@ -12,8 +12,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util import dt as dt_util
from . import HabiticaConfigEntry
from .coordinator import HabiticaDataUpdateCoordinator
from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator
from .entity import HabiticaBase
PARALLEL_UPDATES = 1

View File

@ -37,9 +37,8 @@ from homeassistant.helpers.issue_registry import (
from homeassistant.helpers.typing import StateType
from .const import ASSETS_URL, DOMAIN
from .coordinator import HabiticaDataUpdateCoordinator
from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator
from .entity import HabiticaBase
from .types import HabiticaConfigEntry
from .util import get_attribute_points, get_attributes_total, inventory_list
_LOGGER = logging.getLogger(__name__)

View File

@ -62,7 +62,7 @@ from .const import (
SERVICE_START_QUEST,
SERVICE_TRANSFORMATION,
)
from .types import HabiticaConfigEntry
from .coordinator import HabiticaConfigEntry
_LOGGER = logging.getLogger(__name__)

View File

@ -15,9 +15,12 @@ from homeassistant.components.switch import (
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .coordinator import HabiticaData, HabiticaDataUpdateCoordinator
from .coordinator import (
HabiticaConfigEntry,
HabiticaData,
HabiticaDataUpdateCoordinator,
)
from .entity import HabiticaBase
from .types import HabiticaConfigEntry
PARALLEL_UPDATES = 1

View File

@ -30,9 +30,8 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util import dt as dt_util
from .const import ASSETS_URL, DOMAIN
from .coordinator import HabiticaDataUpdateCoordinator
from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator
from .entity import HabiticaBase
from .types import HabiticaConfigEntry
from .util import next_due_date
_LOGGER = logging.getLogger(__name__)

View File

@ -1,18 +0,0 @@
"""Types for Habitica integration."""
from enum import StrEnum
from homeassistant.config_entries import ConfigEntry
from .coordinator import HabiticaDataUpdateCoordinator
type HabiticaConfigEntry = ConfigEntry[HabiticaDataUpdateCoordinator]
class HabiticaTaskType(StrEnum):
"""Habitica Entities."""
HABIT = "habit"
DAILY = "daily"
TODO = "todo"
REWARD = "reward"