From c54ed53a818728807786f52c8eb789da445ed8db Mon Sep 17 00:00:00 2001
From: epenet <6771947+epenet@users.noreply.github.com>
Date: Tue, 5 Nov 2024 19:51:20 +0100
Subject: [PATCH] Remove usage of options property in OptionsFlow (part 1)
 (#129895)

* Remove usage of options property in OptionsFlow

* Improve
---
 .../components/analytics_insights/config_flow.py   |  2 +-
 homeassistant/components/androidtv/config_flow.py  |  2 +-
 homeassistant/components/elevenlabs/config_flow.py |  2 +-
 homeassistant/components/feedreader/config_flow.py |  4 +++-
 homeassistant/components/fritz/config_flow.py      |  7 +++----
 homeassistant/components/lamarzocco/config_flow.py |  2 +-
 homeassistant/components/opensky/config_flow.py    |  8 ++------
 .../components/pvpc_hourly_pricing/config_flow.py  | 14 ++++++--------
 homeassistant/components/roku/config_flow.py       |  2 +-
 homeassistant/components/roomba/config_flow.py     |  5 +++--
 homeassistant/components/sql/config_flow.py        |  4 ++--
 .../components/trafikverket_train/config_flow.py   |  2 +-
 homeassistant/components/upnp/config_flow.py       |  2 +-
 .../components/vodafone_station/config_flow.py     |  2 +-
 homeassistant/components/wled/config_flow.py       |  2 +-
 homeassistant/components/workday/config_flow.py    | 13 ++++++-------
 homeassistant/components/youtube/config_flow.py    |  2 +-
 17 files changed, 35 insertions(+), 40 deletions(-)

diff --git a/homeassistant/components/analytics_insights/config_flow.py b/homeassistant/components/analytics_insights/config_flow.py
index 0212f208436..c36755f5403 100644
--- a/homeassistant/components/analytics_insights/config_flow.py
+++ b/homeassistant/components/analytics_insights/config_flow.py
@@ -212,6 +212,6 @@ class HomeassistantAnalyticsOptionsFlowHandler(OptionsFlow):
                         ),
                     },
                 ),
-                self.options,
+                self.config_entry.options,
             ),
         )
diff --git a/homeassistant/components/androidtv/config_flow.py b/homeassistant/components/androidtv/config_flow.py
index a41a113268e..afaba5175da 100644
--- a/homeassistant/components/androidtv/config_flow.py
+++ b/homeassistant/components/androidtv/config_flow.py
@@ -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(
             {
diff --git a/homeassistant/components/elevenlabs/config_flow.py b/homeassistant/components/elevenlabs/config_flow.py
index 6419b1c973c..227150a0f4e 100644
--- a/homeassistant/components/elevenlabs/config_flow.py
+++ b/homeassistant/components/elevenlabs/config_flow.py
@@ -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(
diff --git a/homeassistant/components/feedreader/config_flow.py b/homeassistant/components/feedreader/config_flow.py
index 1a19f612e7e..b902d48a1c8 100644
--- a/homeassistant/components/feedreader/config_flow.py
+++ b/homeassistant/components/feedreader/config_flow.py
@@ -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,
             }
         )
diff --git a/homeassistant/components/fritz/config_flow.py b/homeassistant/components/fritz/config_flow.py
index 38e86519a01..ec9ffdd7554 100644
--- a/homeassistant/components/fritz/config_flow.py
+++ b/homeassistant/components/fritz/config_flow.py
@@ -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,
             }
         )
diff --git a/homeassistant/components/lamarzocco/config_flow.py b/homeassistant/components/lamarzocco/config_flow.py
index bcb55a19275..4fadd3a9a32 100644
--- a/homeassistant/components/lamarzocco/config_flow.py
+++ b/homeassistant/components/lamarzocco/config_flow.py
@@ -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,
             }
         )
diff --git a/homeassistant/components/opensky/config_flow.py b/homeassistant/components/opensky/config_flow.py
index f0f599628cb..867a4781265 100644
--- a/homeassistant/components/opensky/config_flow.py
+++ b/homeassistant/components/opensky/config_flow.py
@@ -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,
             ),
         )
diff --git a/homeassistant/components/pvpc_hourly_pricing/config_flow.py b/homeassistant/components/pvpc_hourly_pricing/config_flow.py
index af80c40b75b..3c6b510004a 100644
--- a/homeassistant/components/pvpc_hourly_pricing/config_flow.py
+++ b/homeassistant/components/pvpc_hourly_pricing/config_flow.py
@@ -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(
             {
diff --git a/homeassistant/components/roku/config_flow.py b/homeassistant/components/roku/config_flow.py
index a99c475f515..18e3b3ed68a 100644
--- a/homeassistant/components/roku/config_flow.py
+++ b/homeassistant/components/roku/config_flow.py
@@ -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,
diff --git a/homeassistant/components/roomba/config_flow.py b/homeassistant/components/roomba/config_flow.py
index a53f0ac857f..e48d2d91139 100644
--- a/homeassistant/components/roomba/config_flow.py
+++ b/homeassistant/components/roomba/config_flow.py
@@ -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,
                 }
             ),
diff --git a/homeassistant/components/sql/config_flow.py b/homeassistant/components/sql/config_flow.py
index 9f0614fae89..4fe04f2401c 100644
--- a/homeassistant/components/sql/config_flow.py
+++ b/homeassistant/components/sql/config_flow.py
@@ -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,
diff --git a/homeassistant/components/trafikverket_train/config_flow.py b/homeassistant/components/trafikverket_train/config_flow.py
index b3b8180a08d..f498a7b0d0e 100644
--- a/homeassistant/components/trafikverket_train/config_flow.py
+++ b/homeassistant/components/trafikverket_train/config_flow.py
@@ -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,
         )
diff --git a/homeassistant/components/upnp/config_flow.py b/homeassistant/components/upnp/config_flow.py
index 5f1fdbee88f..41e481fa58c 100644
--- a/homeassistant/components/upnp/config_flow.py
+++ b/homeassistant/components/upnp/config_flow.py
@@ -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,
diff --git a/homeassistant/components/vodafone_station/config_flow.py b/homeassistant/components/vodafone_station/config_flow.py
index 288ebeb9a07..7a80244f8d6 100644
--- a/homeassistant/components/vodafone_station/config_flow.py
+++ b/homeassistant/components/vodafone_station/config_flow.py
@@ -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))
diff --git a/homeassistant/components/wled/config_flow.py b/homeassistant/components/wled/config_flow.py
index 67f2f60d13e..812a0500d1a 100644
--- a/homeassistant/components/wled/config_flow.py
+++ b/homeassistant/components/wled/config_flow.py
@@ -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,
diff --git a/homeassistant/components/workday/config_flow.py b/homeassistant/components/workday/config_flow.py
index 759cc13aecf..4d93fccb1a7 100644
--- a/homeassistant/components/workday/config_flow.py
+++ b/homeassistant/components/workday/config_flow.py
@@ -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),
             },
         )
 
diff --git a/homeassistant/components/youtube/config_flow.py b/homeassistant/components/youtube/config_flow.py
index d03beffdb49..48336422585 100644
--- a/homeassistant/components/youtube/config_flow.py
+++ b/homeassistant/components/youtube/config_flow.py
@@ -194,6 +194,6 @@ class YouTubeOptionsFlowHandler(OptionsFlow):
                         ),
                     }
                 ),
-                self.options,
+                self.config_entry.options,
             ),
         )
-- 
GitLab