mirror of
https://github.com/home-assistant/core.git
synced 2026-05-26 02:06:09 +01:00
d766aae436
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: frenck <195327+frenck@users.noreply.github.com>
31 lines
888 B
Python
31 lines
888 B
Python
"""Expose images as media sources."""
|
|
|
|
from pathlib import Path
|
|
|
|
from homeassistant.components.media_source import MediaSource, local_source
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.exceptions import HomeAssistantError
|
|
|
|
from .const import DATA_MEDIA_SOURCE, DOMAIN, IMAGE_DIR
|
|
|
|
|
|
async def async_get_media_source(hass: HomeAssistant) -> MediaSource:
|
|
"""Set up local media source."""
|
|
media_dirs = list(hass.config.media_dirs.values())
|
|
|
|
if not media_dirs:
|
|
raise HomeAssistantError(
|
|
"AI Task media source requires at least one media directory configured"
|
|
)
|
|
|
|
media_dir = Path(media_dirs[0]) / DOMAIN / IMAGE_DIR
|
|
|
|
hass.data[DATA_MEDIA_SOURCE] = source = local_source.LocalSource(
|
|
hass,
|
|
DOMAIN,
|
|
"AI generated images",
|
|
{IMAGE_DIR: str(media_dir)},
|
|
f"/{DOMAIN}",
|
|
)
|
|
return source
|