Remove usage of options property in OptionsFlow (part 1) (#129895)

* Remove usage of options property in OptionsFlow

* Improve
This commit is contained in:
epenet 2024-11-05 19:51:20 +01:00 committed by GitHub
parent 611a952232
commit c54ed53a81
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 35 additions and 40 deletions

View File

@ -212,6 +212,6 @@ class HomeassistantAnalyticsOptionsFlowHandler(OptionsFlow):
),
},
),
self.options,
self.config_entry.options,
),
)

View File

@ -235,7 +235,7 @@ class OptionsFlowHandler(OptionsFlow):
SelectOptionDict(value=k, label=v) for k, v in apps_list.items()
]
rules = [RULES_NEW_ID, *self._state_det_rules]
options = self.options
options = self.config_entry.options
data_schema = vol.Schema(
{

View File

@ -168,7 +168,7 @@ class ElevenLabsOptionsFlow(OptionsFlow):
vol.Required(CONF_CONFIGURE_VOICE, default=False): bool,
}
),
self.options,
self.config_entry.options,
)
async def async_step_voice_settings(

View File

@ -163,7 +163,9 @@ class FeedReaderOptionsFlowHandler(OptionsFlow):
{
vol.Optional(
CONF_MAX_ENTRIES,
default=self.options.get(CONF_MAX_ENTRIES, DEFAULT_MAX_ENTRIES),
default=self.config_entry.options.get(
CONF_MAX_ENTRIES, DEFAULT_MAX_ENTRIES
),
): cv.positive_int,
}
)

View File

@ -405,19 +405,18 @@ class FritzBoxToolsOptionsFlowHandler(OptionsFlow):
if user_input is not None:
return self.async_create_entry(title="", data=user_input)
options = self.config_entry.options
data_schema = vol.Schema(
{
vol.Optional(
CONF_CONSIDER_HOME,
default=self.options.get(
default=options.get(
CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME.total_seconds()
),
): vol.All(vol.Coerce(int), vol.Clamp(min=0, max=900)),
vol.Optional(
CONF_OLD_DISCOVERY,
default=self.options.get(
CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY
),
default=options.get(CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY),
): bool,
}
)

View File

@ -359,7 +359,7 @@ class LmOptionsFlowHandler(OptionsFlow):
{
vol.Optional(
CONF_USE_BLUETOOTH,
default=self.options.get(CONF_USE_BLUETOOTH, True),
default=self.config_entry.options.get(CONF_USE_BLUETOOTH, True),
): cv.boolean,
}
)

View File

@ -18,7 +18,6 @@ from homeassistant.config_entries import (
from homeassistant.const import (
CONF_LATITUDE,
CONF_LONGITUDE,
CONF_NAME,
CONF_PASSWORD,
CONF_RADIUS,
CONF_USERNAME,
@ -112,10 +111,7 @@ class OpenSkyOptionsFlowHandler(OptionsFlow):
except OpenSkyUnauthenticatedError:
errors["base"] = "invalid_auth"
if not errors:
return self.async_create_entry(
title=self.options.get(CONF_NAME, "OpenSky"),
data=user_input,
)
return self.async_create_entry(data=user_input)
return self.async_show_form(
step_id="init",
@ -130,6 +126,6 @@ class OpenSkyOptionsFlowHandler(OptionsFlow):
vol.Optional(CONF_CONTRIBUTING_USER, default=False): bool,
}
),
user_input or self.options,
user_input or self.config_entry.options,
),
)

View File

@ -199,7 +199,7 @@ class PVPCOptionsFlowHandler(OptionsFlow):
)
# Fill options with entry data
api_token = self.options.get(
api_token = self.config_entry.options.get(
CONF_API_TOKEN, self.config_entry.data.get(CONF_API_TOKEN)
)
return self.async_show_form(
@ -229,13 +229,11 @@ class PVPCOptionsFlowHandler(OptionsFlow):
)
# Fill options with entry data
power = self.options.get(ATTR_POWER, self.config_entry.data[ATTR_POWER])
power_valley = self.options.get(
ATTR_POWER_P3, self.config_entry.data[ATTR_POWER_P3]
)
api_token = self.options.get(
CONF_API_TOKEN, self.config_entry.data.get(CONF_API_TOKEN)
)
options = self.config_entry.options
data = self.config_entry.data
power = options.get(ATTR_POWER, data[ATTR_POWER])
power_valley = options.get(ATTR_POWER_P3, data[ATTR_POWER_P3])
api_token = options.get(CONF_API_TOKEN, data.get(CONF_API_TOKEN))
use_api_token = api_token is not None
schema = vol.Schema(
{

View File

@ -186,7 +186,7 @@ class RokuOptionsFlowHandler(OptionsFlow):
{
vol.Optional(
CONF_PLAY_MEDIA_APP_ID,
default=self.options.get(
default=self.config_entry.options.get(
CONF_PLAY_MEDIA_APP_ID, DEFAULT_PLAY_MEDIA_APP_ID
),
): str,

View File

@ -310,17 +310,18 @@ class RoombaOptionsFlowHandler(OptionsFlow):
if user_input is not None:
return self.async_create_entry(title="", data=user_input)
options = self.config_entry.options
return self.async_show_form(
step_id="init",
data_schema=vol.Schema(
{
vol.Optional(
CONF_CONTINUOUS,
default=self.options.get(CONF_CONTINUOUS, DEFAULT_CONTINUOUS),
default=options.get(CONF_CONTINUOUS, DEFAULT_CONTINUOUS),
): bool,
vol.Optional(
CONF_DELAY,
default=self.options.get(CONF_DELAY, DEFAULT_DELAY),
default=options.get(CONF_DELAY, DEFAULT_DELAY),
): int,
}
),

View File

@ -223,7 +223,7 @@ class SQLOptionsFlowHandler(OptionsFlow):
db_url = user_input.get(CONF_DB_URL)
query = user_input[CONF_QUERY]
column = user_input[CONF_COLUMN_NAME]
name = self.options.get(CONF_NAME, self.config_entry.title)
name = self.config_entry.options.get(CONF_NAME, self.config_entry.title)
try:
query = validate_sql_select(query)
@ -275,7 +275,7 @@ class SQLOptionsFlowHandler(OptionsFlow):
return self.async_show_form(
step_id="init",
data_schema=self.add_suggested_values_to_schema(
OPTIONS_SCHEMA, user_input or self.options
OPTIONS_SCHEMA, user_input or self.config_entry.options
),
errors=errors,
description_placeholders=description_placeholders,

View File

@ -247,7 +247,7 @@ class TVTrainOptionsFlowHandler(OptionsFlow):
step_id="init",
data_schema=self.add_suggested_values_to_schema(
vol.Schema(OPTION_SCHEMA),
user_input or self.options,
user_input or self.config_entry.options,
),
errors=errors,
)

View File

@ -314,7 +314,7 @@ class UpnpOptionsFlowHandler(OptionsFlow):
{
vol.Optional(
CONFIG_ENTRY_FORCE_POLL,
default=self.options.get(
default=self.config_entry.options.get(
CONFIG_ENTRY_FORCE_POLL, DEFAULT_CONFIG_ENTRY_FORCE_POLL
),
): bool,

View File

@ -159,7 +159,7 @@ class VodafoneStationOptionsFlowHandler(OptionsFlow):
{
vol.Optional(
CONF_CONSIDER_HOME,
default=self.options.get(
default=self.config_entry.options.get(
CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME.total_seconds()
),
): vol.All(vol.Coerce(int), vol.Clamp(min=0, max=900))

View File

@ -135,7 +135,7 @@ class WLEDOptionsFlowHandler(OptionsFlow):
{
vol.Optional(
CONF_KEEP_MAIN_LIGHT,
default=self.options.get(
default=self.config_entry.options.get(
CONF_KEEP_MAIN_LIGHT, DEFAULT_KEEP_MAIN_LIGHT
),
): bool,

View File

@ -320,7 +320,7 @@ class WorkdayOptionsFlowHandler(OptionsFlow):
errors: dict[str, str] = {}
if user_input is not None:
combined_input: dict[str, Any] = {**self.options, **user_input}
combined_input: dict[str, Any] = {**self.config_entry.options, **user_input}
if CONF_PROVINCE not in user_input:
# Province not present, delete old value (if present) too
combined_input.pop(CONF_PROVINCE, None)
@ -357,23 +357,22 @@ class WorkdayOptionsFlowHandler(OptionsFlow):
else:
return self.async_create_entry(data=combined_input)
options = self.config_entry.options
schema: vol.Schema = await self.hass.async_add_executor_job(
add_province_and_language_to_schema,
DATA_SCHEMA_OPT,
self.options.get(CONF_COUNTRY),
options.get(CONF_COUNTRY),
)
new_schema = self.add_suggested_values_to_schema(
schema, user_input or self.options
)
new_schema = self.add_suggested_values_to_schema(schema, user_input or options)
LOGGER.debug("Errors have occurred in options %s", errors)
return self.async_show_form(
step_id="init",
data_schema=new_schema,
errors=errors,
description_placeholders={
"name": self.options[CONF_NAME],
"country": self.options.get(CONF_COUNTRY),
"name": options[CONF_NAME],
"country": options.get(CONF_COUNTRY),
},
)

View File

@ -194,6 +194,6 @@ class YouTubeOptionsFlowHandler(OptionsFlow):
),
}
),
self.options,
self.config_entry.options,
),
)