From aa97c932c412ff7df41adf15ba70e2598ad7bbf7 Mon Sep 17 00:00:00 2001 From: Dominick Meglio Date: Tue, 2 Apr 2024 21:59:20 -0400 Subject: [PATCH 1/2] Removed global variable usage to fix new holiday creation --- custom_components/calendarific/__init__.py | 8 +++----- custom_components/calendarific/config_flow.py | 8 +++++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/custom_components/calendarific/__init__.py b/custom_components/calendarific/__init__.py index 1972126..d0573d7 100644 --- a/custom_components/calendarific/__init__.py +++ b/custom_components/calendarific/__init__.py @@ -37,7 +37,6 @@ _LOGGER = logging.getLogger(__name__) -holiday_list = [] def setup(hass, config): """Set up platform using YAML.""" @@ -97,6 +96,9 @@ def get_description(self,holiday_name): except: return "NOT FOUND" + def get_holidays(self): + return [item['name'] for item in self._holidays] + def update(self): if self._lastupdated == datetime.now().date(): return @@ -121,10 +123,6 @@ def update(self): return self._error_logged = False self._next_holidays = response['response']['holidays'] - global holiday_list - holiday_list = [] - for holiday in self._holidays: - holiday_list.append(holiday['name']) return True diff --git a/custom_components/calendarific/config_flow.py b/custom_components/calendarific/config_flow.py index b111ea2..6832f6c 100644 --- a/custom_components/calendarific/config_flow.py +++ b/custom_components/calendarific/config_flow.py @@ -5,6 +5,7 @@ import voluptuous as vol from homeassistant import config_entries +from homeassistant import core from homeassistant.const import CONF_NAME from homeassistant.core import HomeAssistant, callback @@ -27,7 +28,6 @@ CONF_UNIT_OF_MEASUREMENT, ) -from . import holiday_list _LOGGER = logging.getLogger(__name__) @@ -46,9 +46,11 @@ def __init__(self) -> None: self._errors = {} self._data = {} self._data["unique_id"] = str(uuid.uuid4()) + hass = core.async_get_hass() + self._holiday_list = hass.data[DOMAIN]["apiReader"].get_holidays() async def async_step_user(self, user_input=None): - if holiday_list == []: + if self._holiday_list == []: return self.async_abort(reason="no_holidays_found") self._errors = {} if user_input is not None: @@ -84,7 +86,7 @@ async def _show_user_form(self, user_input): if CONF_UNIT_OF_MEASUREMENT in user_input: unit_of_measurement = user_input[CONF_UNIT_OF_MEASUREMENT] data_schema = OrderedDict() - data_schema[vol.Required(CONF_HOLIDAY, default=holiday)] = vol.In(holiday_list) + data_schema[vol.Required(CONF_HOLIDAY, default=holiday)] = vol.In(self._holiday_list) data_schema[vol.Optional(CONF_NAME, default=name)] = str data_schema[vol.Required(CONF_UNIT_OF_MEASUREMENT, default=unit_of_measurement)] = str data_schema[vol.Required(CONF_ICON_NORMAL, default=icon_normal)] = str From 427c78b6bafddb49b6dd9cef890aa3abd36e2bbc Mon Sep 17 00:00:00 2001 From: Dominick Meglio Date: Sat, 21 Sep 2024 17:43:03 -0400 Subject: [PATCH 2/2] Fixed deprecation warnings --- custom_components/calendarific/__init__.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/custom_components/calendarific/__init__.py b/custom_components/calendarific/__init__.py index d0573d7..c5e3dba 100644 --- a/custom_components/calendarific/__init__.py +++ b/custom_components/calendarific/__init__.py @@ -7,7 +7,8 @@ import voluptuous as vol from homeassistant.config_entries import ConfigEntry -from homeassistant.helpers.typing import HomeAssistantType +from homeassistant.const import Platform +from homeassistant.core import HomeAssistant from homeassistant import config_entries import homeassistant.helpers.config_validation as cv @@ -52,15 +53,13 @@ def setup(hass, config): return True -async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry): - hass.async_create_task( - hass.config_entries.async_forward_entry_setup(entry, "sensor") - ) +async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry): + await hass.config_entries.async_forward_entry_setups(entry, [Platform.SENSOR]) return True async def async_unload_entry(hass, entry): """Unload a config entry.""" - return await hass.config_entries.async_forward_entry_unload(entry, "sensor") + return await hass.config_entries.async_forward_entry_unload(entry, Platform.SENSOR) class CalendarificApiReader: