Add type hints to async_step_reauth (#74164)
This commit is contained in:
parent
500105fa86
commit
d323508f79
11 changed files with 59 additions and 33 deletions
|
@ -1,11 +1,14 @@
|
|||
"""Config flow for August integration."""
|
||||
from collections.abc import Mapping
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
import voluptuous as vol
|
||||
from yalexs.authenticator import ValidationResult
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
|
||||
from .const import CONF_LOGIN_METHOD, DOMAIN, LOGIN_METHODS, VERIFICATION_CODE_KEY
|
||||
from .exceptions import CannotConnect, InvalidAuth, RequireValidation
|
||||
|
@ -109,9 +112,9 @@ class AugustConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
},
|
||||
)
|
||||
|
||||
async def async_step_reauth(self, data):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Handle configuration by re-auth."""
|
||||
self._user_auth_details = dict(data)
|
||||
self._user_auth_details = dict(entry_data)
|
||||
self._mode = "reauth"
|
||||
self._needs_reset = True
|
||||
self._august_gateway = AugustGateway(self.hass)
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
"""Config flow to configure the Azure DevOps integration."""
|
||||
from collections.abc import Mapping
|
||||
from typing import Any
|
||||
|
||||
from aioazuredevops.client import DevOpsClient
|
||||
import aiohttp
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.config_entries import ConfigFlow
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
|
||||
from .const import CONF_ORG, CONF_PAT, CONF_PROJECT, DOMAIN
|
||||
|
||||
|
@ -82,12 +86,12 @@ class AzureDevOpsFlowHandler(ConfigFlow, domain=DOMAIN):
|
|||
return await self._show_setup_form(errors)
|
||||
return self._async_create_entry()
|
||||
|
||||
async def async_step_reauth(self, user_input):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Handle configuration by re-auth."""
|
||||
if user_input.get(CONF_ORG) and user_input.get(CONF_PROJECT):
|
||||
self._organization = user_input[CONF_ORG]
|
||||
self._project = user_input[CONF_PROJECT]
|
||||
self._pat = user_input[CONF_PAT]
|
||||
if entry_data.get(CONF_ORG) and entry_data.get(CONF_PROJECT):
|
||||
self._organization = entry_data[CONF_ORG]
|
||||
self._project = entry_data[CONF_PROJECT]
|
||||
self._pat = entry_data[CONF_PAT]
|
||||
|
||||
self.context["title_placeholders"] = {
|
||||
"project_url": f"{self._organization}/{self._project}",
|
||||
|
@ -100,6 +104,7 @@ class AzureDevOpsFlowHandler(ConfigFlow, domain=DOMAIN):
|
|||
return await self._show_reauth_form(errors)
|
||||
|
||||
entry = await self.async_set_unique_id(self.unique_id)
|
||||
assert entry
|
||||
self.hass.config_entries.async_update_entry(
|
||||
entry,
|
||||
data={
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
"""Config flow for elmax-cloud integration."""
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Mapping
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
|
@ -167,10 +168,10 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
step_id="panels", data_schema=self._panels_schema, errors=errors
|
||||
)
|
||||
|
||||
async def async_step_reauth(self, user_input=None):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Perform reauth upon an API authentication error."""
|
||||
self._reauth_username = user_input.get(CONF_ELMAX_USERNAME)
|
||||
self._reauth_panelid = user_input.get(CONF_ELMAX_PANEL_ID)
|
||||
self._reauth_username = entry_data.get(CONF_ELMAX_USERNAME)
|
||||
self._reauth_panelid = entry_data.get(CONF_ELMAX_PANEL_ID)
|
||||
return await self.async_step_reauth_confirm()
|
||||
|
||||
async def async_step_reauth_confirm(self, user_input=None):
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
"""Config Flow for Hive."""
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Mapping
|
||||
from typing import Any
|
||||
|
||||
from apyhiveapi import Auth
|
||||
from apyhiveapi.helper.hive_exceptions import (
|
||||
HiveApiError,
|
||||
|
@ -13,6 +16,7 @@ import voluptuous as vol
|
|||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_SCAN_INTERVAL, CONF_USERNAME
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
|
||||
from .const import CONF_CODE, CONF_DEVICE_NAME, CONFIG_ENTRY_VERSION, DOMAIN
|
||||
|
||||
|
@ -136,11 +140,11 @@ class HiveFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
return self.async_abort(reason="reauth_successful")
|
||||
return self.async_create_entry(title=self.data["username"], data=self.data)
|
||||
|
||||
async def async_step_reauth(self, user_input=None):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Re Authenticate a user."""
|
||||
data = {
|
||||
CONF_USERNAME: user_input[CONF_USERNAME],
|
||||
CONF_PASSWORD: user_input[CONF_PASSWORD],
|
||||
CONF_USERNAME: entry_data[CONF_USERNAME],
|
||||
CONF_PASSWORD: entry_data[CONF_PASSWORD],
|
||||
}
|
||||
return await self.async_step_user(data)
|
||||
|
||||
|
|
|
@ -141,12 +141,9 @@ class HyperionConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||
return await self.async_step_auth()
|
||||
return await self.async_step_confirm()
|
||||
|
||||
async def async_step_reauth(
|
||||
self,
|
||||
config_data: Mapping[str, Any],
|
||||
) -> FlowResult:
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Handle a reauthentication flow."""
|
||||
self._data = dict(config_data)
|
||||
self._data = dict(entry_data)
|
||||
async with self._create_client(raw_connection=True) as hyperion_client:
|
||||
if not hyperion_client:
|
||||
return self.async_abort(reason="cannot_connect")
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
"""Config flow for Mazda Connected Services integration."""
|
||||
from collections.abc import Mapping
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
import aiohttp
|
||||
from pymazda import (
|
||||
|
@ -11,6 +13,7 @@ import voluptuous as vol
|
|||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, CONF_REGION
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
from homeassistant.helpers import aiohttp_client
|
||||
|
||||
from .const import DOMAIN, MAZDA_REGIONS
|
||||
|
@ -97,11 +100,11 @@ class MazdaConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
errors=errors,
|
||||
)
|
||||
|
||||
async def async_step_reauth(self, user_input=None):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Perform reauth if the user credentials have changed."""
|
||||
self._reauth_entry = self.hass.config_entries.async_get_entry(
|
||||
self.context["entry_id"]
|
||||
)
|
||||
self._email = user_input[CONF_EMAIL]
|
||||
self._region = user_input[CONF_REGION]
|
||||
self._email = entry_data[CONF_EMAIL]
|
||||
self._region = entry_data[CONF_REGION]
|
||||
return await self.async_step_user()
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
"""Config flow to configure the Nuki integration."""
|
||||
from collections.abc import Mapping
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from pynuki import NukiBridge
|
||||
from pynuki.bridge import InvalidCredentialsException
|
||||
|
@ -80,9 +82,9 @@ class NukiConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
|
||||
return await self.async_step_validate()
|
||||
|
||||
async def async_step_reauth(self, data):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Perform reauth upon an API authentication error."""
|
||||
self._data = data
|
||||
self._data = entry_data
|
||||
|
||||
return await self.async_step_reauth_confirm()
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
"""Config flow for Plex."""
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Mapping
|
||||
import copy
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from aiohttp import web_response
|
||||
import plexapi.exceptions
|
||||
|
@ -26,6 +28,7 @@ from homeassistant.const import (
|
|||
CONF_VERIFY_SSL,
|
||||
)
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
||||
|
@ -329,9 +332,9 @@ class PlexFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
server_config = {CONF_TOKEN: self.token}
|
||||
return await self.async_step_server_validate(server_config)
|
||||
|
||||
async def async_step_reauth(self, data):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Handle a reauthorization flow request."""
|
||||
self.current_login = dict(data)
|
||||
self.current_login = dict(entry_data)
|
||||
return await self.async_step_user()
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
"""Config flow for Sense integration."""
|
||||
from collections.abc import Mapping
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from sense_energy import (
|
||||
ASyncSenseable,
|
||||
|
@ -10,6 +12,7 @@ import voluptuous as vol
|
|||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_CODE, CONF_EMAIL, CONF_PASSWORD, CONF_TIMEOUT
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
|
||||
from .const import ACTIVE_UPDATE_RATE, DEFAULT_TIMEOUT, DOMAIN, SENSE_CONNECT_EXCEPTIONS
|
||||
|
@ -120,10 +123,10 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
step_id="user", data_schema=DATA_SCHEMA, errors=errors
|
||||
)
|
||||
|
||||
async def async_step_reauth(self, data):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Handle configuration by re-auth."""
|
||||
self._auth_data = dict(data)
|
||||
return await self.async_step_reauth_validate(data)
|
||||
self._auth_data = dict(entry_data)
|
||||
return await self.async_step_reauth_validate(entry_data)
|
||||
|
||||
async def async_step_reauth_validate(self, user_input=None):
|
||||
"""Handle reauth and validation."""
|
||||
|
|
|
@ -57,7 +57,7 @@ class SpotifyFlowHandler(
|
|||
|
||||
return self.async_create_entry(title=name, data=data)
|
||||
|
||||
async def async_step_reauth(self, entry: Mapping[str, Any]) -> FlowResult:
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Perform reauth upon migration of old entries."""
|
||||
self.reauth_entry = self.hass.config_entries.async_get_entry(
|
||||
self.context["entry_id"]
|
||||
|
@ -65,7 +65,8 @@ class SpotifyFlowHandler(
|
|||
|
||||
persistent_notification.async_create(
|
||||
self.hass,
|
||||
f"Spotify integration for account {entry['id']} needs to be re-authenticated. Please go to the integrations page to re-configure it.",
|
||||
f"Spotify integration for account {entry_data['id']} needs to be "
|
||||
"re-authenticated. Please go to the integrations page to re-configure it.",
|
||||
"Spotify re-authentication",
|
||||
"spotify_reauth",
|
||||
)
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
"""Config flow for the Total Connect component."""
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Mapping
|
||||
from typing import Any
|
||||
|
||||
from total_connect_client.client import TotalConnectClient
|
||||
from total_connect_client.exceptions import AuthenticationError
|
||||
import voluptuous as vol
|
||||
|
@ -8,6 +11,7 @@ import voluptuous as vol
|
|||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_LOCATION, CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
|
||||
from .const import AUTO_BYPASS, CONF_USERCODES, DOMAIN
|
||||
|
||||
|
@ -121,10 +125,10 @@ class TotalConnectConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
description_placeholders={"location_id": location_for_user},
|
||||
)
|
||||
|
||||
async def async_step_reauth(self, config):
|
||||
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
|
||||
"""Perform reauth upon an authentication error or no usercode."""
|
||||
self.username = config[CONF_USERNAME]
|
||||
self.usercodes = config[CONF_USERCODES]
|
||||
self.username = entry_data[CONF_USERNAME]
|
||||
self.usercodes = entry_data[CONF_USERCODES]
|
||||
|
||||
return await self.async_step_reauth_confirm()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue