From 35d6cf71ddcbda766bbce77f8bd0f6baf6166cde Mon Sep 17 00:00:00 2001 From: Morgane Date: Wed, 17 Jun 2026 12:45:35 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9calage=20jours=20f=C3=A9ri=C3=A9s=20mobi?= =?UTF-8?q?les=20+=20config=20helpers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../garbage_collection/config_flow.py | 8 +- custom_components/garbage_collection/const.py | 4 +- .../garbage_collection/manifest.json | 5 +- .../garbage_collection/sensor.py | 93 ++++++++++-------- .../garbage_collection/translations/en.json | 4 +- .../garbage_collection/translations/fr.json | 4 +- garbage_collection_fork_morgane_v3.zip | Bin 67555 -> 0 bytes 7 files changed, 64 insertions(+), 54 deletions(-) delete mode 100644 garbage_collection_fork_morgane_v3.zip diff --git a/custom_components/garbage_collection/config_flow.py b/custom_components/garbage_collection/config_flow.py index d8cd8c3..9569545 100644 --- a/custom_components/garbage_collection/config_flow.py +++ b/custom_components/garbage_collection/config_flow.py @@ -95,9 +95,9 @@ async def general_config_schema( const.DEFAULT_HOLIDAY_IN_WEEK_MOVE, ): bool, optional( - const.CONF_HOLIDAY_COUNTRY, + const.CONF_HOLIDAY_DATES, handler.options, - const.DEFAULT_HOLIDAY_COUNTRY, + const.DEFAULT_HOLIDAY_DATES, ): selector.TextSelector(), } ) @@ -135,9 +135,9 @@ async def general_options_schema( const.DEFAULT_HOLIDAY_IN_WEEK_MOVE, ): bool, optional( - const.CONF_HOLIDAY_COUNTRY, + const.CONF_HOLIDAY_DATES, handler.options, - const.DEFAULT_HOLIDAY_COUNTRY, + const.DEFAULT_HOLIDAY_DATES, ): selector.TextSelector(), } ) diff --git a/custom_components/garbage_collection/const.py b/custom_components/garbage_collection/const.py index a2aca1d..8e6dcb0 100644 --- a/custom_components/garbage_collection/const.py +++ b/custom_components/garbage_collection/const.py @@ -44,7 +44,7 @@ CONF_SENSORS = "sensors" CONF_VERBOSE_FORMAT = "verbose_format" CONF_DATE_FORMAT = "date_format" CONF_MOVE_COUNTRY_HOLIDAYS = "move_country_holidays" -CONF_HOLIDAY_COUNTRY = "holiday_country" +CONF_HOLIDAY_DATES = "holiday_dates" # Defaults DEFAULT_NAME = DOMAIN @@ -55,7 +55,7 @@ DEFAULT_PERIOD = 1 DEFAULT_FIRST_WEEK = 1 DEFAULT_VERBOSE_STATE = False DEFAULT_HOLIDAY_IN_WEEK_MOVE = False -DEFAULT_HOLIDAY_COUNTRY = "FR" +DEFAULT_HOLIDAY_DATES = "01-01,05-01,12-25" DEFAULT_DATE_FORMAT = "%d-%b-%Y" DEFAULT_VERBOSE_FORMAT = "on {date}, in {days} days" diff --git a/custom_components/garbage_collection/manifest.json b/custom_components/garbage_collection/manifest.json index 9514084..fa6dcfa 100644 --- a/custom_components/garbage_collection/manifest.json +++ b/custom_components/garbage_collection/manifest.json @@ -11,8 +11,7 @@ "iot_class": "calculated", "issue_tracker": "https://github.com/bruxy70/Garbage-Collection/issues", "requirements": [ - "python-dateutil>=2.8.2", - "holidays>=0.40" + "python-dateutil>=2.8.2" ], - "version": "3.21.1" + "version": "3.21.3" } \ No newline at end of file diff --git a/custom_components/garbage_collection/sensor.py b/custom_components/garbage_collection/sensor.py index bbc1adc..f7deeba 100644 --- a/custom_components/garbage_collection/sensor.py +++ b/custom_components/garbage_collection/sensor.py @@ -5,8 +5,8 @@ import logging from datetime import date, datetime, time, timedelta from typing import Any, Dict, Generator +from dateutil.easter import easter from dateutil.relativedelta import relativedelta -import holidays from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( ATTR_DEVICE_CLASS, @@ -71,8 +71,8 @@ class GarbageCollection(RestoreEntity): "_days", "_first_month", "_hidden", - "_holiday_country", - "_holidays_calendar", + "_holiday_dates", + "_move_holidays", "_icon_normal", "_icon_today", "_icon_tomorrow", @@ -126,23 +126,25 @@ class GarbageCollection(RestoreEntity): self._verbose_format = config.get( const.CONF_VERBOSE_FORMAT, const.DEFAULT_VERBOSE_FORMAT ) - self._holiday_country = config.get( - const.CONF_HOLIDAY_COUNTRY, const.DEFAULT_HOLIDAY_COUNTRY - ) - if config.get(const.CONF_MOVE_COUNTRY_HOLIDAYS, False): - try: - self._holidays_calendar = holidays.country_holidays( - self._holiday_country - ) - except NotImplementedError: - _LOGGER.error( - "(%s) Unknown country code for holidays: %s", - self._attr_name, - self._holiday_country, - ) - self._holidays_calendar = None - else: - self._holidays_calendar = None + self._holiday_dates: set[tuple[int, int]] = set() + self._move_holidays = bool(config.get(const.CONF_MOVE_COUNTRY_HOLIDAYS, False)) + if self._move_holidays: + raw_dates = config.get( + const.CONF_HOLIDAY_DATES, const.DEFAULT_HOLIDAY_DATES + ) + for chunk in raw_dates.split(","): + chunk = chunk.strip() + if not chunk: + continue + try: + month_str, day_str = chunk.split("-") + self._holiday_dates.add((int(month_str), int(day_str))) + except ValueError: + _LOGGER.error( + "(%s) Invalid holiday date '%s', expected format MM-DD", + self._attr_name, + chunk, + ) self._collection_dates: list[date] = [] self._next_date: date | None = None self._last_updated: datetime | None = None @@ -378,31 +380,40 @@ class GarbageCollection(RestoreEntity): yield next_date first_date = next_date + relativedelta(days=1) # look from the next day - def _shift_for_holiday(self, collection_date: date) -> date: - """Move the date forward if a public holiday falls on it or earlier that week. + def _is_exception_date(self, day: date) -> bool: + """Check if a date matches a configured fixed exception, or a movable one. - First check Monday..collection_date (inclusive) for a holiday: if any day in - that range is a holiday, move forward by one day. Then keep moving forward, - one day at a time, while the new candidate day is itself a holiday. + Fixed exceptions come from the configured MM-DD list (e.g. Christmas, + New Year, Labour Day for collectors that only shift on those). + Movable exceptions are always checked too: Easter Monday and Whit + Monday (Pentecost Monday) are the only French public holidays that + ever fall on a Monday, which only matters for Monday-based schedules + and is harmless to check for any other day. """ - if self._holidays_calendar is None: + if (day.month, day.day) in self._holiday_dates: + return True + easter_sunday = easter(day.year) + easter_monday = easter_sunday + timedelta(days=1) + pentecost_monday = easter_sunday + timedelta(days=50) + return day in (easter_monday, pentecost_monday) + + def _shift_for_holiday(self, collection_date: date) -> date: + """Move the date forward by one day for each matching exception date. + + Cascades forward if the new day also matches an exception date. + """ + if not self._move_holidays: return collection_date - monday = collection_date - timedelta(days=collection_date.weekday()) - week_has_holiday = any( - (monday + timedelta(days=i)) in self._holidays_calendar - for i in range(collection_date.weekday() + 1) - ) - if not week_has_holiday: - return collection_date - shifted = collection_date + timedelta(days=1) - while shifted in self._holidays_calendar: + shifted = collection_date + while self._is_exception_date(shifted): shifted = shifted + timedelta(days=1) - _LOGGER.debug( - "(%s) %s shifted to %s because of a public holiday", - self._attr_name, - collection_date, - shifted, - ) + if shifted != collection_date: + _LOGGER.debug( + "(%s) %s shifted to %s because of a configured exception date", + self._attr_name, + collection_date, + shifted, + ) return shifted async def _async_load_collection_dates(self) -> None: diff --git a/custom_components/garbage_collection/translations/en.json b/custom_components/garbage_collection/translations/en.json index 57b97f2..68f7ee5 100644 --- a/custom_components/garbage_collection/translations/en.json +++ b/custom_components/garbage_collection/translations/en.json @@ -15,7 +15,7 @@ "expire_after": "Expire after (HH:MM) - optional", "verbose_state": "Verbose state (text, instead of number)", "move_country_holidays": "Shift collection if a public holiday falls in the week", - "holiday_country": "Country code for public holidays (e.g. FR)" + "holiday_dates": "Dates that shift collection by one day (format MM-DD, comma separated)" } }, "detail": { @@ -69,7 +69,7 @@ "expire_after": "Expire after (HH:MM) - optional", "verbose_state": "Verbose state (text, instead of number)", "move_country_holidays": "Shift collection if a public holiday falls in the week", - "holiday_country": "Country code for public holidays (e.g. FR)" + "holiday_dates": "Dates that shift collection by one day (format MM-DD, comma separated)" } }, "detail": { diff --git a/custom_components/garbage_collection/translations/fr.json b/custom_components/garbage_collection/translations/fr.json index addd89a..464fbab 100644 --- a/custom_components/garbage_collection/translations/fr.json +++ b/custom_components/garbage_collection/translations/fr.json @@ -16,7 +16,7 @@ "expire_after": "Expire après (HH:MM)", "verbose_state": "Etat verbeux (texte, au lieu du chiffre)", "move_country_holidays": "Décaler la collecte si jour férié dans la semaine", - "holiday_country": "Code pays pour les jours fériés (ex: FR)" + "holiday_dates": "Dates qui décalent la collecte d'un jour (format MM-JJ, séparées par des virgules)" } }, "detail": { @@ -71,7 +71,7 @@ "expire_after": "Expire après (HH:MM)", "verbose_state": "Etat verbeux (texte, au lieu du chiffre)", "move_country_holidays": "Décaler la collecte si jour férié dans la semaine", - "holiday_country": "Code pays pour les jours fériés (ex: FR)" + "holiday_dates": "Dates qui décalent la collecte d'un jour (format MM-JJ, séparées par des virgules)" } }, "detail": { diff --git a/garbage_collection_fork_morgane_v3.zip b/garbage_collection_fork_morgane_v3.zip deleted file mode 100644 index 08079cad7d4915aa66fab33ad235a5af61a061cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67555 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 O|H=hG{pL>SxBmkX%aDZt