Only raise integrationnotfound for dependencies (#48241)

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
This commit is contained in:
Alan Tse
2021-04-01 11:30:52 -07:00
committed by GitHub
parent f8f0495319
commit 125161df6b
3 changed files with 81 additions and 4 deletions

View File

@@ -97,12 +97,21 @@ async def async_get_integration_with_requirements(
deps_to_check.append(check_domain)
if deps_to_check:
await asyncio.gather(
results = await asyncio.gather(
*[
async_get_integration_with_requirements(hass, dep, done)
for dep in deps_to_check
]
],
return_exceptions=True,
)
for result in results:
if not isinstance(result, BaseException):
continue
if not isinstance(result, IntegrationNotFound) or not (
not integration.is_built_in
and result.domain in integration.after_dependencies
):
raise result
cache[domain] = integration
event.set()