From 1edc5d296ebfa5506cf3c2ca3f20584e2a484ad9 Mon Sep 17 00:00:00 2001 From: ~Jhellico Date: Sat, 28 Dec 2024 23:22:39 +0200 Subject: [PATCH 1/2] Update Ukraine holidays in 1991 --- holidays/countries/ukraine.py | 25 +++++++++++++++++-------- snapshots/countries/UA_COMMON.json | 8 +++++++- tests/countries/test_ukraine.py | 14 ++++++++++---- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/holidays/countries/ukraine.py b/holidays/countries/ukraine.py index 11881d253..ea9546126 100644 --- a/holidays/countries/ukraine.py +++ b/holidays/countries/ukraine.py @@ -25,8 +25,9 @@ class Ukraine(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta """ Ukraine holidays. - Current holidays list: - - https://zakon1.rada.gov.ua/laws/show/322-08/paran454#n454 + References: + - Labor Code of Ukraine, Art. 73 ``_ + - https://zakon.rada.gov.ua/laws/show/585-12 """ country = "UA" @@ -72,9 +73,8 @@ def _populate_common(self, is_martial_law: bool = False): dts_observed.add(self._add_womens_day(tr("Міжнародний жіночий день"))) if (self._year >= 2022) == is_martial_law: - if self._year >= 1992: - # Easter Sunday (Pascha). - dts_observed.add(self._add_easter_sunday(tr("Великдень (Пасха)"))) + # Easter Sunday (Pascha). + dts_observed.add(self._add_easter_sunday(tr("Великдень (Пасха)"))) # Holy Trinity Day. dts_observed.add(self._add_whit_sunday(tr("Трійця"))) @@ -169,6 +169,7 @@ class UKR(Ukraine): class UkraineStaticHolidays: """ Substituted holidays: + - `1991 `_ - `1992 [1] `_ - `1992 [2] `_ - `1993 [1] `_ @@ -178,8 +179,9 @@ class UkraineStaticHolidays: - `1995 [2] `_ - `1995 [3] `_ - `1996 `_ - - `1997[1] `_ - - `1997[2] `_ + - `1997 [1] `_ + - `1997 [2] `_ + - `1998 `_, - `1999 [1] `_, - `1999 [2] `_, - `1999 [3] `_ @@ -221,6 +223,11 @@ class UkraineStaticHolidays: # Day off (substituted from %s). substituted_label = tr("Вихідний день (перенесено з %s)") special_public_holidays = { + 1991: ( + (MAY, 3, MAY, 5), + (MAY, 10, MAY, 12), + (JUL, 15, JUL, 13), + ), 1992: ( (JAN, 6, JAN, 4), (APR, 27, MAY, 16), @@ -244,9 +251,11 @@ class UkraineStaticHolidays: 1997: ( (JAN, 2, DEC, 28, 1996), (JAN, 6, JAN, 4), + (JAN, 8, JAN, 11), (APR, 29, APR, 19), (APR, 30, MAY, 17), ), + 1998: (JAN, 2, JAN, 4), 1999: ( (JAN, 8, JAN, 10), (APR, 12, APR, 24), @@ -324,7 +333,7 @@ class UkraineStaticHolidays: ), 2012: ( (MAR, 9, MAR, 3), - (APR, 20, APR, 28), + (APR, 30, APR, 28), (JUN, 29, JUL, 7), (DEC, 31, DEC, 29), ), diff --git a/snapshots/countries/UA_COMMON.json b/snapshots/countries/UA_COMMON.json index 84d3aa8d9..a84e564c3 100644 --- a/snapshots/countries/UA_COMMON.json +++ b/snapshots/countries/UA_COMMON.json @@ -2,10 +2,14 @@ "1991-01-01": "New Year's Day", "1991-01-07": "Christmas Day", "1991-03-08": "International Women's Day", + "1991-04-07": "Easter Sunday (Pascha)", "1991-05-01": "International Workers' Solidarity Day", "1991-05-02": "International Workers' Solidarity Day", + "1991-05-03": "Day off (substituted from 05/05/1991)", "1991-05-09": "Victory Day", + "1991-05-10": "Day off (substituted from 05/12/1991)", "1991-05-26": "Holy Trinity Day", + "1991-07-15": "Day off (substituted from 07/13/1991)", "1991-07-16": "Independence Day", "1991-11-07": "Anniversary of the Great October Socialist Revolution", "1991-11-08": "Anniversary of the Great October Socialist Revolution", @@ -84,6 +88,7 @@ "1997-01-02": "Day off (substituted from 12/28/1996)", "1997-01-06": "Day off (substituted from 01/04/1997)", "1997-01-07": "Christmas Day", + "1997-01-08": "Day off (substituted from 01/11/1997)", "1997-03-08": "International Women's Day", "1997-03-10": "International Women's Day (observed)", "1997-04-27": "Easter Sunday (Pascha)", @@ -103,6 +108,7 @@ "1997-11-08": "Anniversary of the Great October Socialist Revolution", "1997-11-10": "Anniversary of the Great October Socialist Revolution (observed)", "1998-01-01": "New Year's Day", + "1998-01-02": "Day off (substituted from 01/04/1998)", "1998-01-07": "Christmas Day", "1998-03-08": "International Women's Day", "1998-04-19": "Easter Sunday (Pascha)", @@ -358,7 +364,7 @@ "2012-03-09": "Day off (substituted from 03/03/2012)", "2012-04-15": "Easter Sunday (Pascha)", "2012-04-16": "Easter Sunday (Pascha) (observed)", - "2012-04-20": "Day off (substituted from 04/28/2012)", + "2012-04-30": "Day off (substituted from 04/28/2012)", "2012-05-01": "International Workers' Solidarity Day", "2012-05-02": "International Workers' Solidarity Day", "2012-05-09": "Victory Day", diff --git a/tests/countries/test_ukraine.py b/tests/countries/test_ukraine.py index 2d64387c4..0cf08561a 100644 --- a/tests/countries/test_ukraine.py +++ b/tests/countries/test_ukraine.py @@ -93,8 +93,7 @@ def test_easter(self): "2020-04-19", "2021-05-02", ) - self.assertHolidayName(name, range(1992, 2022)) - self.assertNoHolidayName(name, 1991) + self.assertHolidayName(name, range(1991, 2022)) dt = ( "2010-04-05", @@ -117,8 +116,9 @@ def test_easter(self): self.assertNoNonObservedHoliday(dt) def test_trinity(self): + name = "Трійця" self.assertHolidayName( - "Трійця", + name, "2010-05-23", "2011-06-12", "2012-06-03", @@ -132,6 +132,7 @@ def test_trinity(self): "2020-06-07", "2021-06-20", ) + self.assertHolidayName(name, range(1991, 2022)) dt = ( "2010-05-24", @@ -252,6 +253,9 @@ def test_christmas_gregorian_day(self): def test_substituted(self): self.assertHoliday( + "1991-05-03", + "1991-05-10", + "1991-07-15", "1992-01-06", "1992-04-27", "1993-01-08", @@ -264,8 +268,10 @@ def test_substituted(self): "1996-05-10", "1997-01-02", "1997-01-06", + "1997-01-08", "1997-04-29", "1997-04-30", + "1998-01-02", "1999-01-08", "1999-04-12", "1999-08-23", @@ -318,7 +324,7 @@ def test_substituted(self): "2011-03-07", "2011-06-27", "2012-03-09", - "2012-04-20", + "2012-04-30", "2012-06-29", "2012-12-31", "2013-05-03", From 0b9bb124202918147daa172948f58882cdc5b2a4 Mon Sep 17 00:00:00 2001 From: ~Jhellico Date: Tue, 31 Dec 2024 17:27:33 +0200 Subject: [PATCH 2/2] PR suggestion Co-authored-by: Arkadii Yakovets <2201626+arkid15r@users.noreply.github.com> Signed-off-by: ~Jhellico --- holidays/countries/ukraine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/holidays/countries/ukraine.py b/holidays/countries/ukraine.py index ea9546126..23e18ea19 100644 --- a/holidays/countries/ukraine.py +++ b/holidays/countries/ukraine.py @@ -72,7 +72,7 @@ def _populate_common(self, is_martial_law: bool = False): # International Women's Day. dts_observed.add(self._add_womens_day(tr("Міжнародний жіночий день"))) - if (self._year >= 2022) == is_martial_law: + if (self._year >= 2022) is is_martial_law: # Easter Sunday (Pascha). dts_observed.add(self._add_easter_sunday(tr("Великдень (Пасха)")))