"""Starting setup task: extra stores.""" from __future__ import annotations from homeassistant.core import HomeAssistant from ..base import HacsBase from ..enums import HacsCategory, HacsStage from .base import HacsTask async def async_setup_task(hacs: HacsBase, hass: HomeAssistant) -> Task: """Set up this task.""" return Task(hacs=hacs, hass=hass) class Task(HacsTask): """Set up extra stores in HACS if enabled in Home Assistant.""" stages = [HacsStage.SETUP] async def async_execute(self) -> None: """Execute the task.""" self.hacs.common.categories = set() for category in (HacsCategory.INTEGRATION, HacsCategory.PLUGIN): self.hacs.enable_hacs_category(HacsCategory(category)) if HacsCategory.PYTHON_SCRIPT in self.hacs.hass.config.components: self.hacs.enable_hacs_category(HacsCategory.PYTHON_SCRIPT) if self.hacs.hass.services.has_service("frontend", "reload_themes"): self.hacs.enable_hacs_category(HacsCategory.THEME) if self.hacs.configuration.appdaemon: self.hacs.enable_hacs_category(HacsCategory.APPDAEMON) if self.hacs.configuration.netdaemon: self.hacs.enable_hacs_category(HacsCategory.NETDAEMON)