holidays 0.26__py3-none-any.whl → 0.27__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- holidays/__init__.py +1 -1
- holidays/calendars/__init__.py +5 -7
- holidays/calendars/buddhist.py +1 -3
- holidays/calendars/chinese.py +1 -3
- holidays/calendars/custom.py +1 -3
- holidays/calendars/hindu.py +1 -3
- holidays/calendars/islamic.py +1341 -1345
- holidays/calendars/thai.py +217 -26
- holidays/countries/__init__.py +4 -0
- holidays/countries/albania.py +6 -17
- holidays/countries/andorra.py +2 -6
- holidays/countries/angola.py +53 -39
- holidays/countries/argentina.py +13 -24
- holidays/countries/aruba.py +109 -48
- holidays/countries/australia.py +31 -69
- holidays/countries/azerbaijan.py +30 -38
- holidays/countries/bahrain.py +5 -5
- holidays/countries/bangladesh.py +1 -3
- holidays/countries/belarus.py +1 -3
- holidays/countries/belize.py +4 -16
- holidays/countries/bolivia.py +2 -6
- holidays/countries/bosnia_and_herzegovina.py +5 -17
- holidays/countries/botswana.py +9 -18
- holidays/countries/brazil.py +2 -5
- holidays/countries/brunei.py +427 -0
- holidays/countries/bulgaria.py +2 -6
- holidays/countries/burkina_faso.py +141 -0
- holidays/countries/burundi.py +2 -5
- holidays/countries/cambodia.py +323 -0
- holidays/countries/cameroon.py +71 -77
- holidays/countries/canada.py +19 -28
- holidays/countries/chad.py +133 -0
- holidays/countries/chile.py +4 -11
- holidays/countries/china.py +1 -2
- holidays/countries/colombia.py +17 -15
- holidays/countries/costa_rica.py +2 -6
- holidays/countries/curacao.py +100 -46
- holidays/countries/cyprus.py +2 -6
- holidays/countries/czechia.py +4 -12
- holidays/countries/denmark.py +1 -3
- holidays/countries/dominican_republic.py +1 -3
- holidays/countries/ecuador.py +54 -54
- holidays/countries/egypt.py +2 -5
- holidays/countries/eswatini.py +34 -44
- holidays/countries/ethiopia.py +5 -14
- holidays/countries/finland.py +1 -3
- holidays/countries/gabon.py +49 -53
- holidays/countries/greece.py +1 -2
- holidays/countries/honduras.py +16 -13
- holidays/countries/hongkong.py +7 -8
- holidays/countries/hungary.py +93 -92
- holidays/countries/india.py +4 -11
- holidays/countries/indonesia.py +120 -114
- holidays/countries/ireland.py +5 -15
- holidays/countries/isle_of_man.py +9 -4
- holidays/countries/israel.py +6 -18
- holidays/countries/italy.py +1 -2
- holidays/countries/jamaica.py +10 -18
- holidays/countries/japan.py +10 -16
- holidays/countries/kazakhstan.py +7 -22
- holidays/countries/kenya.py +1 -3
- holidays/countries/kyrgyzstan.py +2 -5
- holidays/countries/latvia.py +2 -6
- holidays/countries/lesotho.py +52 -32
- holidays/countries/lithuania.py +4 -12
- holidays/countries/madagascar.py +3 -9
- holidays/countries/malawi.py +34 -26
- holidays/countries/malaysia.py +223 -248
- holidays/countries/marshall_islands.py +4 -9
- holidays/countries/mexico.py +1 -3
- holidays/countries/moldova.py +3 -6
- holidays/countries/monaco.py +16 -26
- holidays/countries/montenegro.py +23 -19
- holidays/countries/morocco.py +2 -5
- holidays/countries/mozambique.py +35 -31
- holidays/countries/namibia.py +54 -35
- holidays/countries/new_zealand.py +11 -21
- holidays/countries/nicaragua.py +26 -22
- holidays/countries/nigeria.py +6 -17
- holidays/countries/north_macedonia.py +3 -8
- holidays/countries/norway.py +1 -3
- holidays/countries/pakistan.py +71 -72
- holidays/countries/panama.py +25 -24
- holidays/countries/paraguay.py +54 -47
- holidays/countries/philippines.py +6 -2
- holidays/countries/poland.py +3 -9
- holidays/countries/portugal.py +3 -11
- holidays/countries/romania.py +3 -5
- holidays/countries/saudi_arabia.py +8 -22
- holidays/countries/serbia.py +19 -29
- holidays/countries/singapore.py +70 -74
- holidays/countries/slovakia.py +1 -4
- holidays/countries/south_africa.py +60 -62
- holidays/countries/south_korea.py +14 -23
- holidays/countries/spain.py +2 -5
- holidays/countries/sweden.py +1 -3
- holidays/countries/taiwan.py +2 -5
- holidays/countries/thailand.py +34 -81
- holidays/countries/turkey.py +1 -3
- holidays/countries/ukraine.py +6 -18
- holidays/countries/united_arab_emirates.py +21 -29
- holidays/countries/united_kingdom.py +47 -67
- holidays/countries/united_states.py +42 -72
- holidays/countries/vatican_city.py +1 -3
- holidays/countries/venezuela.py +8 -6
- holidays/countries/vietnam.py +6 -18
- holidays/countries/zambia.py +63 -33
- holidays/countries/zimbabwe.py +56 -37
- holidays/financial/european_central_bank.py +1 -3
- holidays/financial/ny_stock_exchange.py +31 -48
- holidays/groups/__init__.py +18 -0
- holidays/groups/buddhist.py +71 -0
- holidays/groups/chinese.py +235 -0
- holidays/groups/christian.py +483 -0
- holidays/groups/hindu.py +71 -0
- holidays/groups/international.py +157 -0
- holidays/groups/islamic.py +288 -0
- holidays/groups/thai.py +157 -0
- holidays/helpers.py +20 -0
- holidays/holiday_base.py +49 -75
- holidays/holiday_groups.py +11 -1190
- holidays/locale/am/LC_MESSAGES/ET.po +18 -15
- holidays/locale/ar/LC_MESSAGES/CA.po +43 -43
- holidays/locale/ar/LC_MESSAGES/ET.po +18 -15
- holidays/locale/ar/LC_MESSAGES/UA.po +16 -14
- holidays/locale/be/LC_MESSAGES/BY.po +9 -8
- holidays/locale/bg/LC_MESSAGES/BG.po +14 -12
- holidays/locale/da/LC_MESSAGES/DK.po +7 -6
- holidays/locale/el/LC_MESSAGES/CY.po +5 -3
- holidays/locale/el/LC_MESSAGES/GR.po +13 -13
- holidays/locale/en/LC_MESSAGES/CA.po +43 -43
- holidays/locale/en_US/LC_MESSAGES/AR.po +26 -25
- holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AW.po +87 -0
- holidays/locale/en_US/LC_MESSAGES/BG.po +14 -12
- holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BN.po +96 -0
- holidays/locale/en_US/LC_MESSAGES/BY.po +9 -8
- holidays/locale/en_US/LC_MESSAGES/CA.po +43 -43
- holidays/locale/en_US/LC_MESSAGES/CL.po +18 -18
- holidays/locale/en_US/LC_MESSAGES/CO.po +19 -19
- holidays/locale/en_US/LC_MESSAGES/CR.po +6 -5
- holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CW.po +82 -0
- holidays/locale/en_US/LC_MESSAGES/CY.po +5 -3
- holidays/locale/en_US/LC_MESSAGES/DK.po +7 -6
- holidays/locale/en_US/LC_MESSAGES/DO.po +12 -12
- holidays/locale/en_US/LC_MESSAGES/EC.po +11 -12
- holidays/locale/en_US/LC_MESSAGES/ET.po +18 -15
- holidays/locale/en_US/LC_MESSAGES/FI.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/GR.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HN.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HU.po +109 -0
- holidays/locale/en_US/LC_MESSAGES/JP.po +19 -17
- holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KH.po +139 -0
- holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MC.po +16 -15
- holidays/locale/en_US/LC_MESSAGES/MD.po +5 -5
- holidays/locale/en_US/LC_MESSAGES/MX.po +3 -2
- holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NI.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/NO.po +1 -1
- holidays/locale/en_US/LC_MESSAGES/PL.po +23 -21
- holidays/locale/en_US/LC_MESSAGES/PT.po +31 -31
- holidays/locale/en_US/LC_MESSAGES/PY.po +13 -11
- holidays/locale/en_US/LC_MESSAGES/RO.po +4 -3
- holidays/locale/en_US/LC_MESSAGES/RS.po +10 -10
- holidays/locale/en_US/LC_MESSAGES/SE.po +1 -1
- holidays/locale/en_US/LC_MESSAGES/SK.po +14 -14
- holidays/locale/en_US/LC_MESSAGES/TH.po +41 -41
- holidays/locale/en_US/LC_MESSAGES/UA.po +16 -14
- holidays/locale/en_US/LC_MESSAGES/VE.po +6 -6
- holidays/locale/es/LC_MESSAGES/AR.po +26 -25
- holidays/locale/es/LC_MESSAGES/CL.po +18 -18
- holidays/locale/es/LC_MESSAGES/CO.po +19 -19
- holidays/locale/es/LC_MESSAGES/CR.po +6 -5
- holidays/locale/es/LC_MESSAGES/DO.po +12 -12
- holidays/locale/es/LC_MESSAGES/EC.po +11 -12
- holidays/locale/es/LC_MESSAGES/HN.po +12 -12
- holidays/locale/es/LC_MESSAGES/MX.po +3 -2
- holidays/locale/es/LC_MESSAGES/NI.po +10 -10
- holidays/locale/es/LC_MESSAGES/PY.po +13 -11
- holidays/locale/es/LC_MESSAGES/VE.po +6 -6
- holidays/locale/fi/LC_MESSAGES/FI.po +13 -13
- holidays/locale/fr/LC_MESSAGES/CA.po +43 -43
- holidays/locale/fr/LC_MESSAGES/MC.po +15 -14
- holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/hu/LC_MESSAGES/HU.po +109 -0
- holidays/locale/ja/LC_MESSAGES/JP.po +19 -17
- holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/km/LC_MESSAGES/KH.po +139 -0
- holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/ms/LC_MESSAGES/BN.po +96 -0
- holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/AW.po +87 -0
- holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/CW.po +82 -0
- holidays/locale/no/LC_MESSAGES/NO.po +1 -1
- holidays/locale/pap/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/pap/LC_MESSAGES/AW.po +87 -0
- holidays/locale/pap/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/pap/LC_MESSAGES/CW.po +82 -0
- holidays/locale/pl/LC_MESSAGES/PL.po +23 -21
- holidays/locale/pt_PT/LC_MESSAGES/PT.po +31 -31
- holidays/locale/ro/LC_MESSAGES/MD.po +5 -5
- holidays/locale/ro/LC_MESSAGES/RO.po +4 -3
- holidays/locale/sk/LC_MESSAGES/SK.po +14 -14
- holidays/locale/sr/LC_MESSAGES/RS.po +10 -10
- holidays/locale/sv/LC_MESSAGES/FI.po +13 -13
- holidays/locale/sv/LC_MESSAGES/SE.po +1 -1
- holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BN.po +96 -0
- holidays/locale/th/LC_MESSAGES/CA.po +43 -43
- holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KH.po +145 -0
- holidays/locale/th/LC_MESSAGES/TH.po +41 -41
- holidays/locale/uk/LC_MESSAGES/AR.po +26 -25
- holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AW.po +87 -0
- holidays/locale/uk/LC_MESSAGES/CL.po +18 -18
- holidays/locale/uk/LC_MESSAGES/CO.po +19 -19
- holidays/locale/uk/LC_MESSAGES/CR.po +6 -5
- holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CW.po +82 -0
- holidays/locale/uk/LC_MESSAGES/DK.po +7 -6
- holidays/locale/uk/LC_MESSAGES/DO.po +12 -12
- holidays/locale/uk/LC_MESSAGES/EC.po +11 -12
- holidays/locale/uk/LC_MESSAGES/FI.po +13 -13
- holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HN.po +13 -13
- holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HU.po +109 -0
- holidays/locale/uk/LC_MESSAGES/MC.po +15 -14
- holidays/locale/uk/LC_MESSAGES/MD.po +5 -5
- holidays/locale/uk/LC_MESSAGES/MX.po +3 -2
- holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NI.po +13 -13
- holidays/locale/uk/LC_MESSAGES/NO.po +1 -1
- holidays/locale/uk/LC_MESSAGES/PL.po +23 -21
- holidays/locale/uk/LC_MESSAGES/PY.po +13 -11
- holidays/locale/uk/LC_MESSAGES/RO.po +4 -3
- holidays/locale/uk/LC_MESSAGES/SE.po +1 -1
- holidays/locale/uk/LC_MESSAGES/SK.po +14 -14
- holidays/locale/uk/LC_MESSAGES/UA.po +16 -14
- holidays/locale/uk/LC_MESSAGES/VE.po +6 -6
- holidays/registry.py +7 -11
- holidays/utils.py +5 -15
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/METADATA +25 -7
- holidays-0.27.dist-info/RECORD +449 -0
- holidays-0.26.dist-info/RECORD +0 -402
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/LICENSE +0 -0
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/WHEEL +0 -0
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/top_level.txt +0 -0
holidays/countries/canada.py
CHANGED
|
@@ -14,8 +14,7 @@ from datetime import timedelta as td
|
|
|
14
14
|
from gettext import gettext as tr
|
|
15
15
|
|
|
16
16
|
from holidays.calendars import _get_nth_weekday_from, _get_nth_weekday_of_month
|
|
17
|
-
from holidays.constants import FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT
|
|
18
|
-
from holidays.constants import SUN, MON
|
|
17
|
+
from holidays.constants import FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, SUN, MON
|
|
19
18
|
from holidays.holiday_base import HolidayBase
|
|
20
19
|
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
21
20
|
|
|
@@ -53,17 +52,13 @@ class Canada(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
53
52
|
1 if self._is_friday(dt) or self._is_weekend(dt) else -1, MON, dt
|
|
54
53
|
)
|
|
55
54
|
|
|
56
|
-
def _add_observed(self,
|
|
55
|
+
def _add_observed(self, dt: date, include_sat: bool = True, days: int = +1) -> None:
|
|
57
56
|
if not self.observed:
|
|
58
57
|
return None
|
|
59
|
-
if self._is_sunday(
|
|
60
|
-
self._is_saturday(hol_date) and include_sat
|
|
61
|
-
):
|
|
62
|
-
obs_date = _get_nth_weekday_from(1, MON, hol_date)
|
|
63
|
-
if obs_date in self:
|
|
64
|
-
obs_date += td(days=+1)
|
|
58
|
+
if self._is_sunday(dt) or (include_sat and self._is_saturday(dt)):
|
|
65
59
|
self._add_holiday(
|
|
66
|
-
self.tr("%s (Observed)") % self[
|
|
60
|
+
self.tr("%s (Observed)") % self[dt],
|
|
61
|
+
dt + td(days=+2 if self._is_saturday(dt) else days),
|
|
67
62
|
)
|
|
68
63
|
|
|
69
64
|
def _populate(self, year):
|
|
@@ -91,14 +86,17 @@ class Canada(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
91
86
|
_get_nth_weekday_of_month(1, MON, SEP, self._year),
|
|
92
87
|
)
|
|
93
88
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
89
|
+
self._add_observed(
|
|
90
|
+
# Christmas Day.
|
|
91
|
+
self._add_christmas_day(tr("Christmas Day")),
|
|
92
|
+
days=+2,
|
|
93
|
+
)
|
|
99
94
|
|
|
100
|
-
self._add_observed(
|
|
101
|
-
|
|
95
|
+
self._add_observed(
|
|
96
|
+
# Boxing Day.
|
|
97
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
98
|
+
days=+2,
|
|
99
|
+
)
|
|
102
100
|
|
|
103
101
|
def _add_family_day(self):
|
|
104
102
|
self._add_holiday(
|
|
@@ -172,9 +170,7 @@ class Canada(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
172
170
|
|
|
173
171
|
def _add_subdiv_bc_holidays(self):
|
|
174
172
|
if self._year >= 2013:
|
|
175
|
-
dt = _get_nth_weekday_of_month(
|
|
176
|
-
3 if self._year >= 2019 else 2, MON, FEB, self._year
|
|
177
|
-
)
|
|
173
|
+
dt = _get_nth_weekday_of_month(3 if self._year >= 2019 else 2, MON, FEB, self._year)
|
|
178
174
|
self._add_holiday(tr("Family Day"), dt)
|
|
179
175
|
|
|
180
176
|
if self._year >= 1953:
|
|
@@ -227,9 +223,7 @@ class Canada(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
227
223
|
# Civic Holiday.
|
|
228
224
|
else tr("Civic Holiday")
|
|
229
225
|
)
|
|
230
|
-
self._add_holiday(
|
|
231
|
-
name, _get_nth_weekday_of_month(1, MON, AUG, self._year)
|
|
232
|
-
)
|
|
226
|
+
self._add_holiday(name, _get_nth_weekday_of_month(1, MON, AUG, self._year))
|
|
233
227
|
|
|
234
228
|
if self._year >= 2021:
|
|
235
229
|
self._add_holiday(
|
|
@@ -397,9 +391,7 @@ class Canada(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
397
391
|
|
|
398
392
|
def _add_subdiv_pe_holidays(self):
|
|
399
393
|
if self._year >= 2009:
|
|
400
|
-
dt = _get_nth_weekday_of_month(
|
|
401
|
-
3 if self._year >= 2010 else 2, MON, FEB, self._year
|
|
402
|
-
)
|
|
394
|
+
dt = _get_nth_weekday_of_month(3 if self._year >= 2010 else 2, MON, FEB, self._year)
|
|
403
395
|
# Islander Day.
|
|
404
396
|
self._add_holiday(tr("Islander Day"), dt)
|
|
405
397
|
|
|
@@ -465,8 +457,7 @@ class Canada(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
465
457
|
if self._year >= 1974:
|
|
466
458
|
self._add_holiday(
|
|
467
459
|
tr("Heritage Day"),
|
|
468
|
-
_get_nth_weekday_of_month(-1, SUN, FEB, self._year)
|
|
469
|
-
+ td(days=-2),
|
|
460
|
+
_get_nth_weekday_of_month(-1, SUN, FEB, self._year) + td(days=-2),
|
|
470
461
|
)
|
|
471
462
|
|
|
472
463
|
if self._year >= 1953:
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# python-holidays
|
|
2
|
+
# ---------------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
8
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
9
|
+
# Website: https://github.com/dr-prodigy/python-holidays
|
|
10
|
+
# License: MIT (see LICENSE file)
|
|
11
|
+
|
|
12
|
+
from datetime import date
|
|
13
|
+
from datetime import timedelta as td
|
|
14
|
+
|
|
15
|
+
from holidays.calendars import _CustomIslamicCalendar
|
|
16
|
+
from holidays.constants import JAN, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
17
|
+
from holidays.holiday_base import HolidayBase
|
|
18
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Chad(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
22
|
+
"""
|
|
23
|
+
References:
|
|
24
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Chad
|
|
25
|
+
- https://www.ilo.org/dyn/natlex/docs/ELECTRONIC/97323/115433/F-316075167/TCD-97323.pdf # noqa: E501
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
country = "TD"
|
|
29
|
+
special_holidays = {
|
|
30
|
+
2021: (APR, 23, "Funeral of Idriss Déby Itno"),
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
34
|
+
ChristianHolidays.__init__(self)
|
|
35
|
+
InternationalHolidays.__init__(self)
|
|
36
|
+
IslamicHolidays.__init__(self, calendar=ChadIslamicCalendar())
|
|
37
|
+
super().__init__(*args, **kwargs)
|
|
38
|
+
|
|
39
|
+
def _add_observed(self, dt: date) -> None:
|
|
40
|
+
if self.observed and self._is_sunday(dt):
|
|
41
|
+
self._add_holiday("%s (Observed)" % self[dt], dt + td(days=+1))
|
|
42
|
+
|
|
43
|
+
def _populate(self, year):
|
|
44
|
+
# On 11 August 1960, Chad gained independence from France.
|
|
45
|
+
if year <= 1960:
|
|
46
|
+
return None
|
|
47
|
+
|
|
48
|
+
super()._populate(year)
|
|
49
|
+
|
|
50
|
+
# New Year's Day.
|
|
51
|
+
self._add_observed(self._add_new_years_day("New Year's Day"))
|
|
52
|
+
|
|
53
|
+
# International Women's Day.
|
|
54
|
+
self._add_observed(self._add_womens_day("International Women's Day"))
|
|
55
|
+
|
|
56
|
+
# Easter Monday.
|
|
57
|
+
self._add_easter_monday("Easter Monday")
|
|
58
|
+
|
|
59
|
+
# Labour Day.
|
|
60
|
+
self._add_observed(self._add_labor_day("Labour Day"))
|
|
61
|
+
|
|
62
|
+
# Independence Day.
|
|
63
|
+
self._add_observed(self._add_holiday("Independence Day", AUG, 11))
|
|
64
|
+
|
|
65
|
+
# All Saints' Day.
|
|
66
|
+
self._add_all_saints_day("All Saints' Day")
|
|
67
|
+
|
|
68
|
+
self._add_observed(
|
|
69
|
+
# Republic Day.
|
|
70
|
+
self._add_holiday("Republic Day", NOV, 28)
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
if year >= 1991:
|
|
74
|
+
self._add_observed(
|
|
75
|
+
# Freedom and Democracy Day.
|
|
76
|
+
self._add_holiday("Freedom and Democracy Day", DEC, 1)
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
# Christmas Day.
|
|
80
|
+
self._add_christmas_day("Christmas Day")
|
|
81
|
+
|
|
82
|
+
# Eid al-Fitr.
|
|
83
|
+
self._add_eid_al_fitr_day("Eid al-Fitr")
|
|
84
|
+
|
|
85
|
+
# Eid al-Adha.
|
|
86
|
+
self._add_eid_al_adha_day("Eid al-Adha")
|
|
87
|
+
|
|
88
|
+
# Mawlid.
|
|
89
|
+
self._add_mawlid_day("Mawlid")
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class TD(Chad):
|
|
93
|
+
pass
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class TCD(Chad):
|
|
97
|
+
pass
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class ChadIslamicCalendar(_CustomIslamicCalendar):
|
|
101
|
+
EID_AL_ADHA_DATES = {
|
|
102
|
+
2015: (SEP, 24),
|
|
103
|
+
2016: (SEP, 13),
|
|
104
|
+
2017: (SEP, 2),
|
|
105
|
+
2018: (AUG, 22),
|
|
106
|
+
2019: (AUG, 11),
|
|
107
|
+
2020: (JUL, 31),
|
|
108
|
+
2021: (JUL, 20),
|
|
109
|
+
2022: (JUL, 9),
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
EID_AL_FITR_DATES = {
|
|
113
|
+
2015: (JUL, 18),
|
|
114
|
+
2016: (JUL, 7),
|
|
115
|
+
2017: (JUN, 26),
|
|
116
|
+
2018: (JUN, 15),
|
|
117
|
+
2019: (JUN, 4),
|
|
118
|
+
2020: (MAY, 24),
|
|
119
|
+
2021: (MAY, 13),
|
|
120
|
+
2022: (MAY, 2),
|
|
121
|
+
2023: (APR, 21),
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
MAWLID_DATES = {
|
|
125
|
+
2015: ((JAN, 3), (DEC, 24)),
|
|
126
|
+
2016: (DEC, 12),
|
|
127
|
+
2017: (DEC, 1),
|
|
128
|
+
2018: (NOV, 21),
|
|
129
|
+
2019: (NOV, 9),
|
|
130
|
+
2020: (OCT, 29),
|
|
131
|
+
2021: (OCT, 18),
|
|
132
|
+
2022: (OCT, 8),
|
|
133
|
+
}
|
holidays/countries/chile.py
CHANGED
|
@@ -30,7 +30,7 @@ class Chile(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
30
30
|
country = "CL"
|
|
31
31
|
default_language = "es"
|
|
32
32
|
special_holidays = {
|
|
33
|
-
2022: (
|
|
33
|
+
2022: (SEP, 16, tr("Feriado nacional")),
|
|
34
34
|
}
|
|
35
35
|
subdivisions = (
|
|
36
36
|
"AI",
|
|
@@ -113,9 +113,7 @@ class Chile(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
113
113
|
|
|
114
114
|
# Saint Peter and Saint Paul (Law 16.840, Law 18.432)
|
|
115
115
|
if year <= 1967 or year >= 1986:
|
|
116
|
-
self._add_holiday(
|
|
117
|
-
tr("San Pedro y San Pablo"), _get_movable(date(year, JUN, 29))
|
|
118
|
-
)
|
|
116
|
+
self._add_holiday(tr("San Pedro y San Pablo"), _get_movable(date(year, JUN, 29)))
|
|
119
117
|
|
|
120
118
|
# Day of Virgin of Carmen (Law 20.148)
|
|
121
119
|
if year >= 2007:
|
|
@@ -160,9 +158,7 @@ class Chile(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
160
158
|
# Columbus day (Law 3.810).
|
|
161
159
|
if year >= 1922 and year != 1973:
|
|
162
160
|
self._add_holiday(
|
|
163
|
-
tr("Día del Encuentro de dos Mundos")
|
|
164
|
-
if year >= 2000
|
|
165
|
-
else tr("Día de la Raza"),
|
|
161
|
+
tr("Día del Encuentro de dos Mundos") if year >= 2000 else tr("Día de la Raza"),
|
|
166
162
|
_get_movable(date(year, OCT, 12)),
|
|
167
163
|
)
|
|
168
164
|
|
|
@@ -205,10 +201,7 @@ class Chile(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
205
201
|
if self._year >= 2014:
|
|
206
202
|
# Región de Ñuble
|
|
207
203
|
self._add_holiday(
|
|
208
|
-
tr(
|
|
209
|
-
"Nacimiento del Prócer de la Independencia "
|
|
210
|
-
"(Chillán y Chillán Viejo)"
|
|
211
|
-
),
|
|
204
|
+
tr("Nacimiento del Prócer de la Independencia (Chillán y Chillán Viejo)"),
|
|
212
205
|
AUG,
|
|
213
206
|
20,
|
|
214
207
|
)
|
holidays/countries/china.py
CHANGED
|
@@ -13,8 +13,7 @@ from datetime import timedelta as td
|
|
|
13
13
|
|
|
14
14
|
from holidays.constants import OCT
|
|
15
15
|
from holidays.holiday_base import HolidayBase
|
|
16
|
-
from holidays.holiday_groups import ChineseCalendarHolidays
|
|
17
|
-
from holidays.holiday_groups import InternationalHolidays
|
|
16
|
+
from holidays.holiday_groups import ChineseCalendarHolidays, InternationalHolidays
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
class China(HolidayBase, ChineseCalendarHolidays, InternationalHolidays):
|
holidays/countries/colombia.py
CHANGED
|
@@ -13,14 +13,13 @@ from datetime import date
|
|
|
13
13
|
from datetime import timedelta as td
|
|
14
14
|
from gettext import gettext as tr
|
|
15
15
|
|
|
16
|
-
from dateutil.easter import easter
|
|
17
|
-
|
|
18
16
|
from holidays.calendars import _get_nth_weekday_from
|
|
19
|
-
from holidays.constants import JAN, MAR,
|
|
17
|
+
from holidays.constants import JAN, MAR, JUN, JUL, AUG, OCT, NOV, MON
|
|
20
18
|
from holidays.holiday_base import HolidayBase
|
|
19
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
21
20
|
|
|
22
21
|
|
|
23
|
-
class Colombia(HolidayBase):
|
|
22
|
+
class Colombia(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
24
23
|
"""
|
|
25
24
|
Colombia has 18 holidays. The establishing of these are by:
|
|
26
25
|
Ley 35 de 1939 (DEC 4): https://bit.ly/3PJwk7B
|
|
@@ -33,6 +32,11 @@ class Colombia(HolidayBase):
|
|
|
33
32
|
default_language = "es"
|
|
34
33
|
supported_languages = ("en_US", "es", "uk")
|
|
35
34
|
|
|
35
|
+
def __init__(self, *args, **kwargs):
|
|
36
|
+
ChristianHolidays.__init__(self)
|
|
37
|
+
InternationalHolidays.__init__(self)
|
|
38
|
+
super().__init__(*args, **kwargs)
|
|
39
|
+
|
|
36
40
|
def _add_with_bridge(self, dt: date, name: str) -> None:
|
|
37
41
|
"""
|
|
38
42
|
On the 6th of December 1983, the government of Colombia declared which
|
|
@@ -61,7 +65,7 @@ class Colombia(HolidayBase):
|
|
|
61
65
|
super()._populate(year)
|
|
62
66
|
|
|
63
67
|
# New Year's Day
|
|
64
|
-
self.
|
|
68
|
+
self._add_new_years_day(tr("Año Nuevo"))
|
|
65
69
|
|
|
66
70
|
if year >= 1951:
|
|
67
71
|
# Epiphany
|
|
@@ -77,7 +81,7 @@ class Colombia(HolidayBase):
|
|
|
77
81
|
)
|
|
78
82
|
|
|
79
83
|
# Labor Day
|
|
80
|
-
self
|
|
84
|
+
self._add_labor_day(tr("Día del Trabajo"))
|
|
81
85
|
|
|
82
86
|
if year >= 1951:
|
|
83
87
|
# Saint Peter and Saint Paul's Day
|
|
@@ -120,36 +124,34 @@ class Colombia(HolidayBase):
|
|
|
120
124
|
|
|
121
125
|
if year >= 1951:
|
|
122
126
|
# Immaculate Conception
|
|
123
|
-
self.
|
|
127
|
+
self._add_immaculate_conception_day(tr("La Inmaculada Concepción"))
|
|
124
128
|
|
|
125
129
|
# Christmas
|
|
126
|
-
self.
|
|
127
|
-
|
|
128
|
-
easter_date = easter(year)
|
|
130
|
+
self._add_christmas_day(tr("Navidad"))
|
|
129
131
|
|
|
130
132
|
if year >= 1951:
|
|
131
133
|
# Maundy Thursday
|
|
132
|
-
self.
|
|
134
|
+
self._add_holy_thursday(tr("Jueves Santo"))
|
|
133
135
|
|
|
134
136
|
# Good Friday
|
|
135
|
-
self.
|
|
137
|
+
self._add_good_friday(tr("Viernes Santo"))
|
|
136
138
|
|
|
137
139
|
# Ascension of Jesus
|
|
138
140
|
self._add_with_bridge(
|
|
139
|
-
|
|
141
|
+
self._easter_sunday + td(days=+39),
|
|
140
142
|
tr("Ascensión del señor"),
|
|
141
143
|
)
|
|
142
144
|
|
|
143
145
|
# Corpus Christi
|
|
144
146
|
self._add_with_bridge(
|
|
145
|
-
|
|
147
|
+
self._easter_sunday + td(days=+60),
|
|
146
148
|
tr("Corpus Christi"),
|
|
147
149
|
)
|
|
148
150
|
|
|
149
151
|
if year >= 1984:
|
|
150
152
|
# Sacred Heart
|
|
151
153
|
self._add_with_bridge(
|
|
152
|
-
|
|
154
|
+
self._easter_sunday + td(days=+68),
|
|
153
155
|
tr("Sagrado Corazón"),
|
|
154
156
|
)
|
|
155
157
|
|
holidays/countries/costa_rica.py
CHANGED
|
@@ -118,9 +118,7 @@ class CostaRica(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
118
118
|
if year >= 2022:
|
|
119
119
|
dt = date(year, AUG, 31)
|
|
120
120
|
# Day of the Black Person and Afro-Costa Rican Culture.
|
|
121
|
-
name = self.tr(
|
|
122
|
-
"Día de la Persona Negra y la Cultura Afrocostarricense"
|
|
123
|
-
)
|
|
121
|
+
name = self.tr("Día de la Persona Negra y la Cultura Afrocostarricense")
|
|
124
122
|
if self.observed and year in {2022, 2023}:
|
|
125
123
|
dt = _get_nth_weekday_from(1, SUN, dt)
|
|
126
124
|
name = self.tr("%s (Observado)") % name
|
|
@@ -137,9 +135,7 @@ class CostaRica(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
137
135
|
# Law #9803 from 19.05.2020
|
|
138
136
|
if year <= 2019:
|
|
139
137
|
# Cultures Day.
|
|
140
|
-
add_observed_holiday(
|
|
141
|
-
tr("Día de las Culturas"), date(year, OCT, 12)
|
|
142
|
-
)
|
|
138
|
+
add_observed_holiday(tr("Día de las Culturas"), date(year, OCT, 12))
|
|
143
139
|
|
|
144
140
|
# Law #9803 from 19.05.2020
|
|
145
141
|
if year >= 2020:
|
holidays/countries/curacao.py
CHANGED
|
@@ -11,81 +11,135 @@
|
|
|
11
11
|
|
|
12
12
|
from datetime import date
|
|
13
13
|
from datetime import timedelta as td
|
|
14
|
+
from gettext import gettext as tr
|
|
14
15
|
|
|
15
|
-
from
|
|
16
|
-
|
|
17
|
-
from holidays.constants import JAN, APR, MAY, JUL, AUG, OCT, DEC
|
|
16
|
+
from holidays.constants import APR, MAY, JUL, OCT
|
|
18
17
|
from holidays.holiday_base import HolidayBase
|
|
18
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class Curacao(HolidayBase):
|
|
21
|
+
class Curacao(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
22
22
|
"""
|
|
23
|
-
https://loketdigital.gobiernu.cw/Loket/product/571960bbe1e5fe8712b10a1323630e70
|
|
23
|
+
https://loketdigital.gobiernu.cw/Loket/product/571960bbe1e5fe8712b10a1323630e70 # noqa: E501
|
|
24
|
+
https://en.wikipedia.org/wiki/Public_holidays_in_Cura%C3%A7ao
|
|
25
|
+
|
|
26
|
+
New Year's Eve (Vispu di Aña Nobo) is a half-day public holiday, though
|
|
27
|
+
this isn't supported by Python Holidays so it won't be implemented.
|
|
24
28
|
"""
|
|
25
29
|
|
|
26
30
|
country = "CW"
|
|
31
|
+
default_language = "pap"
|
|
32
|
+
supported_languages = ("en_US", "nl", "pap", "uk")
|
|
33
|
+
|
|
34
|
+
def __init__(self, *args, **kwargs):
|
|
35
|
+
ChristianHolidays.__init__(self)
|
|
36
|
+
InternationalHolidays.__init__(self)
|
|
37
|
+
super().__init__(*args, **kwargs)
|
|
27
38
|
|
|
28
39
|
def _populate(self, year):
|
|
40
|
+
# 1954: Creation of the Netherlands Antilles.
|
|
41
|
+
if year <= 1953:
|
|
42
|
+
return None
|
|
43
|
+
|
|
29
44
|
super()._populate(year)
|
|
30
45
|
|
|
46
|
+
# Aña Nobo.
|
|
47
|
+
# Status: In-Use.
|
|
48
|
+
|
|
31
49
|
# New Year's Day
|
|
32
|
-
self
|
|
50
|
+
self._add_new_years_day(tr("Aña Nobo"))
|
|
51
|
+
|
|
52
|
+
# Dialuna despues di Carnaval Grandi.
|
|
53
|
+
# Status: In-Use.
|
|
54
|
+
# Started in 1947.
|
|
55
|
+
|
|
56
|
+
# Carnival Monday
|
|
57
|
+
self._add_ash_monday(tr("Dialuna despues di Carnaval Grandi"))
|
|
33
58
|
|
|
34
|
-
|
|
35
|
-
#
|
|
36
|
-
self[
|
|
37
|
-
easter_date + td(days=-48)
|
|
38
|
-
] = "Maandag na de Grote Karnaval [Carnaval Monday]"
|
|
59
|
+
# Bièrnèsantu.
|
|
60
|
+
# Status: In-Use.
|
|
39
61
|
|
|
40
62
|
# Good Friday
|
|
41
|
-
self
|
|
63
|
+
self._add_good_friday(tr("Bièrnèsantu"))
|
|
42
64
|
|
|
43
|
-
#
|
|
44
|
-
|
|
45
|
-
easter_date + td(days=+1)
|
|
46
|
-
] = "Di Dos Dia di Pasku di Resureccion [Easter Monday]"
|
|
65
|
+
# Pasku di Resurekshon.
|
|
66
|
+
# Status: In-Use
|
|
47
67
|
|
|
48
|
-
#
|
|
49
|
-
|
|
50
|
-
kings_day = date(year, APR, 27)
|
|
51
|
-
if self._is_sunday(kings_day):
|
|
52
|
-
kings_day += td(days=-1)
|
|
68
|
+
# Easter Sunday
|
|
69
|
+
self._add_easter_sunday(tr("Pasku di Resurekshon"))
|
|
53
70
|
|
|
54
|
-
|
|
71
|
+
# Di dos dia di Pasku di Resurekshon.
|
|
72
|
+
# Status: In-Use.
|
|
55
73
|
|
|
56
|
-
#
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
74
|
+
# Easter Monday
|
|
75
|
+
self._add_easter_monday(tr("Di dos dia di Pasku di Resurekshon"))
|
|
76
|
+
|
|
77
|
+
# Dia di la Reina/Dia di Rey.
|
|
78
|
+
# Status: In-Use.
|
|
79
|
+
# Started under Queen Wilhelmina in 1891.
|
|
80
|
+
# Queen Beatrix kept Queen Juliana's Birthday after her coronation.
|
|
81
|
+
# Switched to Aña di Rey in 2014 for King Willem-Alexander.
|
|
82
|
+
# Have its name changed again to Dia di Rey from 2021 onwards.
|
|
83
|
+
|
|
84
|
+
# King's / Queen's Day
|
|
85
|
+
name = (
|
|
86
|
+
# King's Day.
|
|
87
|
+
tr("Dia di Rey")
|
|
88
|
+
if year >= 2014
|
|
89
|
+
# Queen's Day.
|
|
90
|
+
else tr("Dia di la Reina")
|
|
91
|
+
)
|
|
92
|
+
if year >= 2014:
|
|
93
|
+
dt = date(year, APR, 27)
|
|
94
|
+
else:
|
|
95
|
+
dt = date(year, APR, 30)
|
|
96
|
+
if self._is_sunday(dt):
|
|
97
|
+
dt += td(days=-1) if year >= 1980 else td(days=+1)
|
|
98
|
+
self._add_holiday(name, dt)
|
|
99
|
+
|
|
100
|
+
# Dia di Obrero.
|
|
101
|
+
# Status: In-Use.
|
|
102
|
+
# If fall on Sunday, then this will be move to next working day.
|
|
103
|
+
|
|
104
|
+
dt = date(year, MAY, 1)
|
|
105
|
+
if self._is_sunday(dt) or (self._is_monday(dt) and year <= 1979):
|
|
106
|
+
dt += td(days=+1)
|
|
107
|
+
# Labor Day
|
|
108
|
+
self._add_holiday(tr("Dia di Obrero"), dt)
|
|
109
|
+
|
|
110
|
+
# Dia di Asenshon.
|
|
111
|
+
# Status: In-Use.
|
|
61
112
|
|
|
62
|
-
|
|
63
|
-
|
|
113
|
+
# Ascension Day
|
|
114
|
+
self._add_ascension_thursday(tr("Dia di Asenshon"))
|
|
64
115
|
|
|
65
|
-
|
|
116
|
+
# Dia di Himno i Bandera.
|
|
117
|
+
# Status: In-Use.
|
|
118
|
+
# Starts in 1984.
|
|
66
119
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
labour_day += td(days=+1)
|
|
71
|
-
self[labour_day] = "Dia di Obrero [Labour Day]"
|
|
120
|
+
if year >= 1984:
|
|
121
|
+
# National Anthem and Flag Day
|
|
122
|
+
self._add_holiday(tr("Dia di Himno i Bandera"), JUL, 2)
|
|
72
123
|
|
|
73
|
-
#
|
|
74
|
-
|
|
124
|
+
# Dia di Pais Kòrsou / Dia di autonomia.
|
|
125
|
+
# Status: In-Use.
|
|
126
|
+
# Starts in 2010.
|
|
75
127
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
] = "Dia di Himno y Bandera [National Anthem & Flag Day]"
|
|
128
|
+
if year >= 2010:
|
|
129
|
+
# Curaçao Day
|
|
130
|
+
self._add_holiday(tr("Dia di Pais Kòrsou"), OCT, 10)
|
|
80
131
|
|
|
81
|
-
#
|
|
82
|
-
|
|
132
|
+
# Pasku di Nasementu.
|
|
133
|
+
# Status: In-Use.
|
|
83
134
|
|
|
84
135
|
# Christmas Day
|
|
85
|
-
self
|
|
136
|
+
self._add_christmas_day(tr("Pasku di Nasementu"))
|
|
137
|
+
|
|
138
|
+
# Di dos dia di Pasku di Nasementu.
|
|
139
|
+
# Status: In-Use.
|
|
86
140
|
|
|
87
|
-
# Second Christmas
|
|
88
|
-
self
|
|
141
|
+
# Second Day of Christmas
|
|
142
|
+
self._add_christmas_day_two(tr("Di dos dia di Pasku di Nasementu"))
|
|
89
143
|
|
|
90
144
|
|
|
91
145
|
class CW(Curacao):
|
holidays/countries/cyprus.py
CHANGED
|
@@ -78,17 +78,13 @@ class Cyprus(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
78
78
|
self._add_holiday(tr("Ημέρα του Όχι"), OCT, 28)
|
|
79
79
|
|
|
80
80
|
# Christmas Eve.
|
|
81
|
-
self._add_christmas_eve(
|
|
82
|
-
tr("Παραμονή Χριστουγέννων"), GREGORIAN_CALENDAR
|
|
83
|
-
)
|
|
81
|
+
self._add_christmas_eve(tr("Παραμονή Χριστουγέννων"), GREGORIAN_CALENDAR)
|
|
84
82
|
|
|
85
83
|
# Christmas Day.
|
|
86
84
|
self._add_christmas_day(tr("Χριστούγεννα"), GREGORIAN_CALENDAR)
|
|
87
85
|
|
|
88
86
|
# Day After Christmas.
|
|
89
|
-
self._add_christmas_day_two(
|
|
90
|
-
tr("Δεύτερη μέρα Χριστουγέννων"), GREGORIAN_CALENDAR
|
|
91
|
-
)
|
|
87
|
+
self._add_christmas_day_two(tr("Δεύτερη μέρα Χριστουγέννων"), GREGORIAN_CALENDAR)
|
|
92
88
|
|
|
93
89
|
|
|
94
90
|
class CY(Cyprus):
|
holidays/countries/czechia.py
CHANGED
|
@@ -29,9 +29,7 @@ class Czechia(HolidayBase):
|
|
|
29
29
|
super()._populate(year)
|
|
30
30
|
|
|
31
31
|
self[date(year, JAN, 1)] = (
|
|
32
|
-
"Den obnovy samostatného českého" "
|
|
33
|
-
if year >= 2000
|
|
34
|
-
else "Nový rok"
|
|
32
|
+
"Den obnovy samostatného českého státu" if year >= 2000 else "Nový rok"
|
|
35
33
|
)
|
|
36
34
|
|
|
37
35
|
easter_date = easter(year)
|
|
@@ -44,20 +42,14 @@ class Czechia(HolidayBase):
|
|
|
44
42
|
if year >= 1992:
|
|
45
43
|
self[date(year, MAY, 8)] = "Den vítězství"
|
|
46
44
|
elif year >= 1947:
|
|
47
|
-
self[date(year, MAY, 9)] =
|
|
48
|
-
"Den vítězství nad hitlerovským" " fašismem"
|
|
49
|
-
)
|
|
45
|
+
self[date(year, MAY, 9)] = "Den vítězství nad hitlerovským fašismem"
|
|
50
46
|
if year >= 1951:
|
|
51
|
-
self[date(year, JUL, 5)] =
|
|
52
|
-
"Den slovanských věrozvěstů " "Cyrila a Metoděje"
|
|
53
|
-
)
|
|
47
|
+
self[date(year, JUL, 5)] = "Den slovanských věrozvěstů Cyrila a Metoděje"
|
|
54
48
|
self[date(year, JUL, 6)] = "Den upálení mistra Jana Husa"
|
|
55
49
|
if year >= 2000:
|
|
56
50
|
self[date(year, SEP, 28)] = "Den české státnosti"
|
|
57
51
|
if year >= 1951:
|
|
58
|
-
self[date(year, OCT, 28)] =
|
|
59
|
-
"Den vzniku samostatného " "československého státu"
|
|
60
|
-
)
|
|
52
|
+
self[date(year, OCT, 28)] = "Den vzniku samostatného československého státu"
|
|
61
53
|
if year >= 1990:
|
|
62
54
|
self[date(year, NOV, 17)] = "Den boje za svobodu a demokracii"
|
|
63
55
|
|
holidays/countries/denmark.py
CHANGED
|
@@ -55,9 +55,7 @@ class Denmark(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
55
55
|
# See https://www.ft.dk/samling/20222/lovforslag/l13/index.htm
|
|
56
56
|
if year <= 2023:
|
|
57
57
|
# Great Day of Prayers.
|
|
58
|
-
self._add_holiday(
|
|
59
|
-
tr("Store bededag"), self._easter_sunday + td(days=+26)
|
|
60
|
-
)
|
|
58
|
+
self._add_holiday(tr("Store bededag"), self._easter_sunday + td(days=+26))
|
|
61
59
|
|
|
62
60
|
# Ascension Day.
|
|
63
61
|
self._add_ascension_thursday(tr("Kristi himmelfartsdag"))
|
|
@@ -28,9 +28,7 @@ class DominicanRepublic(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
28
28
|
default_language = "es"
|
|
29
29
|
supported_languages = ("en_US", "es", "uk")
|
|
30
30
|
|
|
31
|
-
def _add_movable_holiday(
|
|
32
|
-
self, name: str, dt: date, include_sun: bool = False
|
|
33
|
-
) -> None:
|
|
31
|
+
def _add_movable_holiday(self, name: str, dt: date, include_sun: bool = False) -> None:
|
|
34
32
|
# Law No. 139-97 - Holidays Dominican Republic - Jun 27, 1997
|
|
35
33
|
if dt >= date(1997, JUN, 27):
|
|
36
34
|
if self._is_tuesday(dt) or self._is_wednesday(dt):
|