1 """Config flow for Islamic Prayer Times integration."""
3 from __future__
import annotations
7 import voluptuous
as vol
32 DEFAULT_LAT_ADJ_METHOD,
33 DEFAULT_MIDNIGHT_MODE,
44 """Handle the Islamic Prayer config flow."""
52 config_entry: ConfigEntry,
53 ) -> IslamicPrayerOptionsFlowHandler:
54 """Get the options flow for this handler."""
58 self, user_input: dict[str, Any] |
None =
None
59 ) -> ConfigFlowResult:
60 """Handle a flow initialized by the user."""
62 if user_input
is not None:
63 lat: float = user_input[CONF_LOCATION][CONF_LATITUDE]
64 lon: float = user_input[CONF_LOCATION][CONF_LONGITUDE]
69 title=user_input[CONF_NAME],
77 CONF_LATITUDE: self.hass.config.latitude,
78 CONF_LONGITUDE: self.hass.config.longitude,
82 data_schema=vol.Schema(
86 CONF_LOCATION, default=home_location
94 """Handle Islamic Prayer client options."""
97 self, user_input: dict[str, Any] |
None =
None
98 ) -> ConfigFlowResult:
100 if user_input
is not None:
107 CONF_CALC_METHOD, DEFAULT_CALC_METHOD
111 options=CALC_METHODS,
112 mode=SelectSelectorMode.DROPDOWN,
113 translation_key=CONF_CALC_METHOD,
119 CONF_LAT_ADJ_METHOD, DEFAULT_LAT_ADJ_METHOD
123 options=LAT_ADJ_METHODS,
124 mode=SelectSelectorMode.DROPDOWN,
125 translation_key=CONF_LAT_ADJ_METHOD,
131 CONF_MIDNIGHT_MODE, DEFAULT_MIDNIGHT_MODE
135 options=MIDNIGHT_MODES,
136 mode=SelectSelectorMode.DROPDOWN,
137 translation_key=CONF_MIDNIGHT_MODE,
146 mode=SelectSelectorMode.DROPDOWN,
147 translation_key=CONF_SCHOOL,
152 return self.
async_show_formasync_show_form(step_id=
"init", data_schema=vol.Schema(options))
ConfigFlowResult async_step_user(self, dict[str, Any]|None user_input=None)
IslamicPrayerOptionsFlowHandler async_get_options_flow(ConfigEntry config_entry)
ConfigFlowResult async_step_init(self, dict[str, Any]|None user_input=None)
None _abort_if_unique_id_configured(self, dict[str, Any]|None updates=None, bool reload_on_update=True, *str error="already_configured")
ConfigEntry|None async_set_unique_id(self, str|None unique_id=None, *bool raise_on_progress=True)
ConfigFlowResult async_create_entry(self, *str title, Mapping[str, Any] data, str|None description=None, Mapping[str, str]|None description_placeholders=None, Mapping[str, Any]|None options=None)
ConfigFlowResult async_show_form(self, *str|None step_id=None, vol.Schema|None data_schema=None, dict[str, str]|None errors=None, Mapping[str, str]|None description_placeholders=None, bool|None last_step=None, str|None preview=None)
ConfigEntry config_entry(self)
None config_entry(self, ConfigEntry value)
_FlowResultT async_show_form(self, *str|None step_id=None, vol.Schema|None data_schema=None, dict[str, str]|None errors=None, Mapping[str, str]|None description_placeholders=None, bool|None last_step=None, str|None preview=None)
_FlowResultT async_create_entry(self, *str|None title=None, Mapping[str, Any] data, str|None description=None, Mapping[str, str]|None description_placeholders=None)