From 9f61aecd5eb03ef760610d4c4393b3cdacb7a84d Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Fri, 14 Jan 2022 16:29:48 +0100 Subject: [PATCH] Import onboarding (#64115) * Add type hints to onboarding * Import onboarding Co-authored-by: epenet --- homeassistant/components/auth/login_flow.py | 3 ++- homeassistant/components/frontend/__init__.py | 4 ++-- homeassistant/components/onboarding/__init__.py | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/auth/login_flow.py b/homeassistant/components/auth/login_flow.py index a21854b7770..722dc29438e 100644 --- a/homeassistant/components/auth/login_flow.py +++ b/homeassistant/components/auth/login_flow.py @@ -75,6 +75,7 @@ import voluptuous_serialize from homeassistant import data_entry_flow from homeassistant.auth.models import Credentials +from homeassistant.components import onboarding from homeassistant.components.http.auth import async_user_not_allowed_do_auth from homeassistant.components.http.ban import ( log_invalid_auth, @@ -105,7 +106,7 @@ class AuthProvidersView(HomeAssistantView): async def get(self, request): """Get available auth providers.""" hass = request.app["hass"] - if not hass.components.onboarding.async_is_user_onboarded(): + if not onboarding.async_is_user_onboarded(hass): return self.json_message( message="Onboarding not finished", status_code=HTTPStatus.BAD_REQUEST, diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index b4a2c9c97e9..066f5e1f224 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -15,7 +15,7 @@ import jinja2 import voluptuous as vol from yarl import URL -from homeassistant.components import websocket_api +from homeassistant.components import onboarding, websocket_api from homeassistant.components.http.view import HomeAssistantView from homeassistant.components.websocket_api.connection import ActiveConnection from homeassistant.config import async_hass_config_yaml @@ -583,7 +583,7 @@ class IndexView(web_urldispatcher.AbstractResource): """Serve the index page for panel pages.""" hass = request.app["hass"] - if not hass.components.onboarding.async_is_onboarded(): + if not onboarding.async_is_onboarded(hass): return web.Response(status=302, headers={"location": "/onboarding.html"}) template = self._template_cache or await hass.async_add_executor_job( diff --git a/homeassistant/components/onboarding/__init__.py b/homeassistant/components/onboarding/__init__.py index 8dd59326f6f..41bbbf44011 100644 --- a/homeassistant/components/onboarding/__init__.py +++ b/homeassistant/components/onboarding/__init__.py @@ -35,7 +35,7 @@ class OnboadingStorage(Store): @bind_hass @callback -def async_is_onboarded(hass): +def async_is_onboarded(hass: HomeAssistant) -> bool: """Return if Home Assistant has been onboarded.""" data = hass.data.get(DOMAIN) return data is None or data is True @@ -43,7 +43,7 @@ def async_is_onboarded(hass): @bind_hass @callback -def async_is_user_onboarded(hass): +def async_is_user_onboarded(hass: HomeAssistant) -> bool: """Return if a user has been created as part of onboarding.""" return async_is_onboarded(hass) or STEP_USER in hass.data[DOMAIN]["done"]