From 8ef9e880c24825c1f411d781edeea1dc14b08504 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Sat, 6 Jul 2024 11:23:03 +0200 Subject: [PATCH] Fix provider load at startup (#1455) --- .../server/providers/hass/__init__.py | 8 ++++++++ music_assistant/server/server.py | 16 +++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/music_assistant/server/providers/hass/__init__.py b/music_assistant/server/providers/hass/__init__.py index 8f9de96c..3f7c1100 100644 --- a/music_assistant/server/providers/hass/__init__.py +++ b/music_assistant/server/providers/hass/__init__.py @@ -117,6 +117,14 @@ async def get_config_entries( value=None, hidden=True, ), + ConfigEntry( + key=CONF_VERIFY_SSL, + type=ConfigEntryType.BOOLEAN, + label=CONF_VERIFY_SSL, + required=False, + default_value=False, + hidden=True, + ), ) # manual configuration return ( diff --git a/music_assistant/server/server.py b/music_assistant/server/server.py index 28165736..c09a2a30 100644 --- a/music_assistant/server/server.py +++ b/music_assistant/server/server.py @@ -477,8 +477,9 @@ class MusicAssistant: allow_retry, task_id=task_id, ) - else: - raise + return + # raise in all other situations + raise async def unload_provider(self, instance_id: str) -> None: """Unload a provider.""" @@ -537,11 +538,12 @@ class MusicAssistant: # load all configured (and enabled) providers prov_configs = await self.config.get_provider_configs(include_values=True) - async with asyncio.TaskGroup() as tg: - for prov_conf in prov_configs: - if not prov_conf.enabled: - continue - tg.create_task(self.load_provider(prov_conf.instance_id, allow_retry=True)) + for prov_conf in prov_configs: + if not prov_conf.enabled: + continue + # Use a task so we can load multiple providers at once. + # If a provider fails, that will not block the loading of other providers. + self.create_task(self.load_provider(prov_conf.instance_id, allow_retry=True)) async def _load_provider(self, conf: ProviderConfig) -> None: """Load (or reload) a provider.""" -- 2.34.1