1
mirror of https://github.com/home-assistant/core synced 2024-08-28 03:36:46 +02:00
ha-core/homeassistant/components/dlna_dms/__init__.py
2022-03-29 15:32:16 +02:00

37 lines
1.4 KiB
Python

"""The DLNA Digital Media Server integration.
A single config entry is used, with SSDP discovery for media servers. Each
server is wrapped in a DmsEntity, and the server's USN is used as the unique_id.
"""
from __future__ import annotations
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from .const import CONF_SOURCE_ID, LOGGER
from .dms import get_domain_data
from .util import generate_source_id
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up DLNA DMS device from a config entry."""
LOGGER.debug("Setting up config entry: %s", entry.unique_id)
# Soft-migrate entry if it's missing data keys
if CONF_SOURCE_ID not in entry.data:
LOGGER.debug("Adding CONF_SOURCE_ID to entry %s", entry.data)
data = dict(entry.data)
data[CONF_SOURCE_ID] = generate_source_id(hass, entry.title)
hass.config_entries.async_update_entry(entry, data=data)
# Forward setup to this domain's data manager
return await get_domain_data(hass).async_setup_entry(entry)
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
LOGGER.debug("Unloading config entry: %s", entry.unique_id)
# Forward unload to this domain's data manager
return await get_domain_data(hass).async_unload_entry(entry)