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/israel.py
CHANGED
|
@@ -36,15 +36,11 @@ class Israel(HolidayBase):
|
|
|
36
36
|
passover_dt = _HebrewLunisolar.hebrew_holiday_date(year, "PASSOVER")
|
|
37
37
|
self._add_with_eve("Passover I", passover_dt)
|
|
38
38
|
for offset in range(1, 5):
|
|
39
|
-
self._add_holiday(
|
|
40
|
-
"Passover - Chol HaMoed", passover_dt + td(days=offset)
|
|
41
|
-
)
|
|
39
|
+
self._add_holiday("Passover - Chol HaMoed", passover_dt + td(days=offset))
|
|
42
40
|
self._add_with_eve("Passover VII", passover_dt + td(days=+6))
|
|
43
41
|
|
|
44
42
|
# Memorial Day
|
|
45
|
-
memorial_day_dt = _HebrewLunisolar.hebrew_holiday_date(
|
|
46
|
-
year, "MEMORIAL_DAY"
|
|
47
|
-
)
|
|
43
|
+
memorial_day_dt = _HebrewLunisolar.hebrew_holiday_date(year, "MEMORIAL_DAY")
|
|
48
44
|
observed_delta = 0
|
|
49
45
|
if self.observed:
|
|
50
46
|
if self._is_thursday(memorial_day_dt):
|
|
@@ -74,9 +70,7 @@ class Israel(HolidayBase):
|
|
|
74
70
|
self._add_holiday(name, memorial_day_dt + td(days=+1))
|
|
75
71
|
|
|
76
72
|
# Lag Baomer
|
|
77
|
-
lag_baomer_dt = _HebrewLunisolar.hebrew_holiday_date(
|
|
78
|
-
year, "LAG_BAOMER"
|
|
79
|
-
)
|
|
73
|
+
lag_baomer_dt = _HebrewLunisolar.hebrew_holiday_date(year, "LAG_BAOMER")
|
|
80
74
|
self._add_holiday("Lag B'Omer", lag_baomer_dt)
|
|
81
75
|
|
|
82
76
|
# Shavuot
|
|
@@ -84,26 +78,20 @@ class Israel(HolidayBase):
|
|
|
84
78
|
self._add_with_eve("Shavuot", shavuot_dt)
|
|
85
79
|
|
|
86
80
|
# Rosh Hashana
|
|
87
|
-
rosh_hashanah_dt = _HebrewLunisolar.hebrew_holiday_date(
|
|
88
|
-
year, "ROSH_HASHANAH"
|
|
89
|
-
)
|
|
81
|
+
rosh_hashanah_dt = _HebrewLunisolar.hebrew_holiday_date(year, "ROSH_HASHANAH")
|
|
90
82
|
name = "Rosh Hashanah"
|
|
91
83
|
self._add_with_eve(name, rosh_hashanah_dt)
|
|
92
84
|
self._add_holiday(name, rosh_hashanah_dt + td(days=+1))
|
|
93
85
|
|
|
94
86
|
# Yom Kippur
|
|
95
|
-
yom_kippur_dt = _HebrewLunisolar.hebrew_holiday_date(
|
|
96
|
-
year, "YOM_KIPPUR"
|
|
97
|
-
)
|
|
87
|
+
yom_kippur_dt = _HebrewLunisolar.hebrew_holiday_date(year, "YOM_KIPPUR")
|
|
98
88
|
self._add_with_eve("Yom Kippur", yom_kippur_dt)
|
|
99
89
|
|
|
100
90
|
# Sukkot
|
|
101
91
|
sukkot_dt = _HebrewLunisolar.hebrew_holiday_date(year, "SUKKOT")
|
|
102
92
|
self._add_with_eve("Sukkot I", sukkot_dt)
|
|
103
93
|
for offset in range(1, 6):
|
|
104
|
-
self._add_holiday(
|
|
105
|
-
"Sukkot - Chol HaMoed", sukkot_dt + td(days=offset)
|
|
106
|
-
)
|
|
94
|
+
self._add_holiday("Sukkot - Chol HaMoed", sukkot_dt + td(days=offset))
|
|
107
95
|
self._add_with_eve("Sukkot VII", sukkot_dt + td(days=+7))
|
|
108
96
|
|
|
109
97
|
# Hanukkah
|
holidays/countries/italy.py
CHANGED
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
from datetime import timedelta as td
|
|
14
14
|
|
|
15
15
|
from holidays.calendars import _get_nth_weekday_of_month
|
|
16
|
-
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP
|
|
17
|
-
from holidays.constants import OCT, NOV, DEC, TUE, SUN
|
|
16
|
+
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, TUE, SUN
|
|
18
17
|
from holidays.holiday_base import HolidayBase
|
|
19
18
|
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
20
19
|
|
holidays/countries/jamaica.py
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
from datetime import date
|
|
13
13
|
from datetime import timedelta as td
|
|
14
14
|
|
|
15
|
-
from holidays.calendars import
|
|
15
|
+
from holidays.calendars import _get_nth_weekday_of_month
|
|
16
16
|
from holidays.constants import MAY, AUG, OCT, MON
|
|
17
17
|
from holidays.holiday_base import HolidayBase
|
|
18
18
|
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
@@ -31,16 +31,14 @@ class Jamaica(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
31
31
|
InternationalHolidays.__init__(self)
|
|
32
32
|
super().__init__(*args, **kwargs)
|
|
33
33
|
|
|
34
|
-
def _add_observed(self,
|
|
34
|
+
def _add_observed(self, dt: date, include_sat: bool = False, days: int = +1) -> None:
|
|
35
35
|
if not self.observed:
|
|
36
36
|
return None
|
|
37
|
-
if self._is_sunday(
|
|
38
|
-
self.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
obs_date += td(days=+1)
|
|
43
|
-
self._add_holiday("%s (Observed)" % self[hol_date], obs_date)
|
|
37
|
+
if self._is_sunday(dt) or (include_sat and self._is_saturday(dt)):
|
|
38
|
+
self._add_holiday(
|
|
39
|
+
"%s (Observed)" % self[dt],
|
|
40
|
+
dt + td(days=+2 if self._is_saturday(dt) else days),
|
|
41
|
+
)
|
|
44
42
|
|
|
45
43
|
def _populate(self, year):
|
|
46
44
|
super()._populate(year)
|
|
@@ -58,9 +56,7 @@ class Jamaica(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
58
56
|
self._add_easter_monday("Easter Monday")
|
|
59
57
|
|
|
60
58
|
# National Labour Day
|
|
61
|
-
self._add_observed(
|
|
62
|
-
self._add_holiday("National Labour Day", MAY, 23), include_sat=True
|
|
63
|
-
)
|
|
59
|
+
self._add_observed(self._add_holiday("National Labour Day", MAY, 23), include_sat=True)
|
|
64
60
|
|
|
65
61
|
# Emancipation Day
|
|
66
62
|
if year >= 1998:
|
|
@@ -70,18 +66,14 @@ class Jamaica(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
70
66
|
self._add_observed(self._add_holiday("Independence Day", AUG, 6))
|
|
71
67
|
|
|
72
68
|
# National Heroes Day
|
|
73
|
-
self._add_holiday(
|
|
74
|
-
"National Heroes Day", _get_nth_weekday_of_month(3, MON, OCT, year)
|
|
75
|
-
)
|
|
69
|
+
self._add_holiday("National Heroes Day", _get_nth_weekday_of_month(3, MON, OCT, year))
|
|
76
70
|
|
|
77
71
|
# Christmas Day
|
|
78
|
-
|
|
72
|
+
self._add_observed(self._add_christmas_day("Christmas Day"), days=+2)
|
|
79
73
|
|
|
80
74
|
# Boxing Day
|
|
81
75
|
self._add_observed(self._add_christmas_day_two("Boxing Day"))
|
|
82
76
|
|
|
83
|
-
self._add_observed(dt)
|
|
84
|
-
|
|
85
77
|
|
|
86
78
|
class JM(Jamaica):
|
|
87
79
|
pass
|
holidays/countries/japan.py
CHANGED
|
@@ -15,8 +15,8 @@ from gettext import gettext as tr
|
|
|
15
15
|
from typing import Tuple
|
|
16
16
|
|
|
17
17
|
from holidays.calendars import _get_nth_weekday_of_month
|
|
18
|
-
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP
|
|
19
|
-
from holidays.
|
|
18
|
+
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, MON
|
|
19
|
+
from holidays.helpers import _normalize_tuple
|
|
20
20
|
from holidays.holiday_base import HolidayBase
|
|
21
21
|
|
|
22
22
|
|
|
@@ -28,10 +28,10 @@ class Japan(HolidayBase):
|
|
|
28
28
|
country = "JP"
|
|
29
29
|
default_language = "ja"
|
|
30
30
|
special_holidays = {
|
|
31
|
-
1959: (
|
|
32
|
-
1989: (
|
|
33
|
-
1990: (
|
|
34
|
-
1993: (
|
|
31
|
+
1959: (APR, 10, tr("結婚の儀")), # The Crown Prince marriage ceremony.
|
|
32
|
+
1989: (FEB, 24, tr("大喪の礼")), # State Funeral of Emperor Shōwa.
|
|
33
|
+
1990: (NOV, 12, tr("即位礼正殿の儀")), # Enthronement ceremony.
|
|
34
|
+
1993: (JUN, 9, tr("結婚の儀")), # The Crown Prince marriage ceremony.
|
|
35
35
|
2019: (
|
|
36
36
|
(MAY, 1, tr("天皇の即位の日")), # Enthronement day.
|
|
37
37
|
(OCT, 22, tr("即位礼正殿の儀が行われる日")), # Enthronement ceremony.
|
|
@@ -68,9 +68,7 @@ class Japan(HolidayBase):
|
|
|
68
68
|
observed_dates.add(self._add_holiday(tr("天皇誕生日"), FEB, 23))
|
|
69
69
|
|
|
70
70
|
# Vernal Equinox Day.
|
|
71
|
-
observed_dates.add(
|
|
72
|
-
self._add_holiday(tr("春分の日"), *self._vernal_equinox_date)
|
|
73
|
-
)
|
|
71
|
+
observed_dates.add(self._add_holiday(tr("春分の日"), *self._vernal_equinox_date))
|
|
74
72
|
|
|
75
73
|
# Showa Emperor's Birthday, Greenery Day or Showa Day.
|
|
76
74
|
if year <= 1988:
|
|
@@ -101,9 +99,7 @@ class Japan(HolidayBase):
|
|
|
101
99
|
2020: date(2020, JUL, 23),
|
|
102
100
|
2021: date(2021, JUL, 22),
|
|
103
101
|
}
|
|
104
|
-
dt = dates.get(
|
|
105
|
-
year, _get_nth_weekday_of_month(3, MON, JUL, year)
|
|
106
|
-
)
|
|
102
|
+
dt = dates.get(year, _get_nth_weekday_of_month(3, MON, JUL, year))
|
|
107
103
|
# Marine Day.
|
|
108
104
|
observed_dates.add(self._add_holiday(tr("海の日"), dt))
|
|
109
105
|
|
|
@@ -128,9 +124,7 @@ class Japan(HolidayBase):
|
|
|
128
124
|
)
|
|
129
125
|
|
|
130
126
|
# Autumnal Equinox Day.
|
|
131
|
-
observed_dates.add(
|
|
132
|
-
self._add_holiday(tr("秋分の日"), *self._autumnal_equinox_date)
|
|
133
|
-
)
|
|
127
|
+
observed_dates.add(self._add_holiday(tr("秋分の日"), *self._autumnal_equinox_date))
|
|
134
128
|
|
|
135
129
|
# Physical Education and Sports Day.
|
|
136
130
|
if year >= 1966:
|
|
@@ -164,7 +158,7 @@ class Japan(HolidayBase):
|
|
|
164
158
|
observed_dates.add(self._add_holiday(tr("天皇誕生日"), DEC, 23))
|
|
165
159
|
|
|
166
160
|
if self.observed:
|
|
167
|
-
for month, day, _ in self.special_holidays.get(year, ()):
|
|
161
|
+
for month, day, _ in _normalize_tuple(self.special_holidays.get(year, ())):
|
|
168
162
|
observed_dates.add(date(year, month, day))
|
|
169
163
|
|
|
170
164
|
# When a national holiday falls on Sunday, next working day
|
holidays/countries/kazakhstan.py
CHANGED
|
@@ -14,13 +14,10 @@ from datetime import timedelta as td
|
|
|
14
14
|
from holidays.calendars import JULIAN_CALENDAR
|
|
15
15
|
from holidays.constants import MAR, MAY, JUL, AUG, OCT, DEC
|
|
16
16
|
from holidays.holiday_base import HolidayBase
|
|
17
|
-
from holidays.holiday_groups import ChristianHolidays, IslamicHolidays
|
|
18
|
-
from holidays.holiday_groups import InternationalHolidays
|
|
17
|
+
from holidays.holiday_groups import ChristianHolidays, IslamicHolidays, InternationalHolidays
|
|
19
18
|
|
|
20
19
|
|
|
21
|
-
class Kazakhstan(
|
|
22
|
-
HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
23
|
-
):
|
|
20
|
+
class Kazakhstan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
24
21
|
"""
|
|
25
22
|
1. https://www.officeholidays.com/countries/kazakhstan/2020
|
|
26
23
|
2. https://egov.kz/cms/en/articles/holidays-calend
|
|
@@ -65,15 +62,11 @@ class Kazakhstan(
|
|
|
65
62
|
observed_dates.add(self._add_holiday(name, MAR, 23))
|
|
66
63
|
|
|
67
64
|
# Kazakhstan People Solidarity Holiday
|
|
68
|
-
observed_dates.add(
|
|
69
|
-
self._add_labor_day("Kazakhstan People Solidarity Holiday")
|
|
70
|
-
)
|
|
65
|
+
observed_dates.add(self._add_labor_day("Kazakhstan People Solidarity Holiday"))
|
|
71
66
|
|
|
72
67
|
# Defender of the Fatherland Day
|
|
73
68
|
if year >= 2013:
|
|
74
|
-
observed_dates.add(
|
|
75
|
-
self._add_holiday("Defender of the Fatherland Day", MAY, 7)
|
|
76
|
-
)
|
|
69
|
+
observed_dates.add(self._add_holiday("Defender of the Fatherland Day", MAY, 7))
|
|
77
70
|
|
|
78
71
|
# Victory Day
|
|
79
72
|
observed_dates.add(self._add_world_war_two_victory_day("Victory Day"))
|
|
@@ -85,9 +78,7 @@ class Kazakhstan(
|
|
|
85
78
|
# Constitution Day of the Republic of Kazakhstan
|
|
86
79
|
if year >= 1996:
|
|
87
80
|
observed_dates.add(
|
|
88
|
-
self._add_holiday(
|
|
89
|
-
"Constitution Day of the Republic of Kazakhstan", AUG, 30
|
|
90
|
-
)
|
|
81
|
+
self._add_holiday("Constitution Day of the Republic of Kazakhstan", AUG, 30)
|
|
91
82
|
)
|
|
92
83
|
|
|
93
84
|
# Republic Day
|
|
@@ -96,9 +87,7 @@ class Kazakhstan(
|
|
|
96
87
|
|
|
97
88
|
# First President Day
|
|
98
89
|
if 2012 <= year <= 2021:
|
|
99
|
-
observed_dates.add(
|
|
100
|
-
self._add_holiday("First President Day", DEC, 1)
|
|
101
|
-
)
|
|
90
|
+
observed_dates.add(self._add_holiday("First President Day", DEC, 1))
|
|
102
91
|
|
|
103
92
|
# Kazakhstan Independence Day
|
|
104
93
|
name = "Kazakhstan Independence Day"
|
|
@@ -117,11 +106,7 @@ class Kazakhstan(
|
|
|
117
106
|
obs_date = hol_date + td(days=+1)
|
|
118
107
|
while self._is_weekend(obs_date) or obs_date in observed_dates:
|
|
119
108
|
obs_date += td(days=+1)
|
|
120
|
-
observed_dates.add(
|
|
121
|
-
self._add_holiday(
|
|
122
|
-
"%s (Observed)" % self[hol_date], obs_date
|
|
123
|
-
)
|
|
124
|
-
)
|
|
109
|
+
observed_dates.add(self._add_holiday("%s (Observed)" % self[hol_date], obs_date))
|
|
125
110
|
|
|
126
111
|
|
|
127
112
|
class KZ(Kazakhstan):
|
holidays/countries/kenya.py
CHANGED
|
@@ -45,9 +45,7 @@ class Kenya(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
45
45
|
def _populate(self, year):
|
|
46
46
|
def _add_observed(dt: date, days: int = +1) -> None:
|
|
47
47
|
if self.observed and self._is_sunday(dt):
|
|
48
|
-
self._add_holiday(
|
|
49
|
-
"%s (Observed)" % self[dt], dt + td(days=days)
|
|
50
|
-
)
|
|
48
|
+
self._add_holiday("%s (Observed)" % self[dt], dt + td(days=days))
|
|
51
49
|
|
|
52
50
|
if year <= 1962:
|
|
53
51
|
return None
|
holidays/countries/kyrgyzstan.py
CHANGED
|
@@ -12,13 +12,10 @@
|
|
|
12
12
|
from holidays.calendars import JULIAN_CALENDAR
|
|
13
13
|
from holidays.constants import FEB, MAR, APR, MAY, AUG, NOV
|
|
14
14
|
from holidays.holiday_base import HolidayBase
|
|
15
|
-
from holidays.holiday_groups import ChristianHolidays, IslamicHolidays
|
|
16
|
-
from holidays.holiday_groups import InternationalHolidays
|
|
15
|
+
from holidays.holiday_groups import ChristianHolidays, IslamicHolidays, InternationalHolidays
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
class Kyrgyzstan(
|
|
20
|
-
HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
21
|
-
):
|
|
18
|
+
class Kyrgyzstan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
22
19
|
"""
|
|
23
20
|
Kyrgyzstan holidays.
|
|
24
21
|
|
holidays/countries/latvia.py
CHANGED
|
@@ -48,9 +48,7 @@ class Latvia(HolidayBase):
|
|
|
48
48
|
# Latvia proclaimed its independence from the USSR,
|
|
49
49
|
# and restoration of the Republic of Latvia.
|
|
50
50
|
if year >= 1990:
|
|
51
|
-
self[
|
|
52
|
-
date(year, 5, 4)
|
|
53
|
-
] = "Latvijas Republikas Neatkarības atjaunošanas diena"
|
|
51
|
+
self[date(year, 5, 4)] = "Latvijas Republikas Neatkarības atjaunošanas diena"
|
|
54
52
|
|
|
55
53
|
# by law
|
|
56
54
|
# https://likumi.lv/ta/id/72608-par-svetku-atceres-un-atzimejamam-dienam
|
|
@@ -65,9 +63,7 @@ class Latvia(HolidayBase):
|
|
|
65
63
|
|
|
66
64
|
# Proclamation Day of the Republic of Latvia
|
|
67
65
|
if year >= 1918:
|
|
68
|
-
self[
|
|
69
|
-
date(year, 11, 18)
|
|
70
|
-
] = "Latvijas Republikas proklamēšanas diena"
|
|
66
|
+
self[date(year, 11, 18)] = "Latvijas Republikas proklamēšanas diena"
|
|
71
67
|
|
|
72
68
|
# Christmas Eve
|
|
73
69
|
self[date(year, 12, 24)] = "Ziemassvētku vakars"
|
holidays/countries/lesotho.py
CHANGED
|
@@ -9,56 +9,76 @@
|
|
|
9
9
|
# Website: https://github.com/dr-prodigy/python-holidays
|
|
10
10
|
# License: MIT (see LICENSE file)
|
|
11
11
|
|
|
12
|
-
from
|
|
13
|
-
from datetime import timedelta as td
|
|
14
|
-
|
|
15
|
-
from dateutil.easter import easter
|
|
16
|
-
|
|
17
|
-
from holidays.constants import JAN, MAR, APR, MAY, JUL, OCT, DEC
|
|
12
|
+
from holidays.constants import MAR, APR, MAY, JUL, OCT
|
|
18
13
|
from holidays.holiday_base import HolidayBase
|
|
14
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
19
15
|
|
|
20
16
|
|
|
21
|
-
class Lesotho(HolidayBase):
|
|
17
|
+
class Lesotho(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
22
18
|
"""
|
|
23
|
-
|
|
24
|
-
https://
|
|
19
|
+
References:
|
|
20
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Lesotho
|
|
21
|
+
- https://www.ilo.org/dyn/travail/docs/2093/Public%20Holidays%20Act%201995.pdf # noqa: E501
|
|
22
|
+
- https://www.timeanddate.com/holidays/lesotho/
|
|
25
23
|
"""
|
|
26
24
|
|
|
27
25
|
country = "LS"
|
|
28
26
|
special_holidays = {
|
|
29
|
-
|
|
30
|
-
2002: ((APR, 4, "Heroes Day"), (MAY, 25, "Africa Day"))
|
|
27
|
+
2002: (MAY, 25, "Africa Day"),
|
|
31
28
|
}
|
|
32
29
|
|
|
30
|
+
def __init__(self, *args, **kwargs):
|
|
31
|
+
ChristianHolidays.__init__(self)
|
|
32
|
+
InternationalHolidays.__init__(self)
|
|
33
|
+
super().__init__(*args, **kwargs)
|
|
34
|
+
|
|
33
35
|
def _populate(self, year):
|
|
36
|
+
if year <= 1995:
|
|
37
|
+
return None
|
|
38
|
+
|
|
34
39
|
super()._populate(year)
|
|
35
40
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
# New Year's Day.
|
|
42
|
+
self._add_new_years_day("New Year's Day")
|
|
43
|
+
|
|
44
|
+
# Moshoeshoe's Day.
|
|
45
|
+
self._add_holiday("Moshoeshoe's Day", MAR, 11)
|
|
46
|
+
|
|
47
|
+
if year <= 2002:
|
|
48
|
+
# Heroes Day.
|
|
49
|
+
self._add_holiday("Heroes Day", APR, 4)
|
|
50
|
+
|
|
51
|
+
if year >= 2003:
|
|
52
|
+
# Africa/Heroes Day.
|
|
53
|
+
self._add_africa_day("Africa/Heroes Day")
|
|
54
|
+
|
|
55
|
+
# Good Friday.
|
|
56
|
+
self._add_good_friday("Good Friday")
|
|
57
|
+
|
|
58
|
+
# Easter Monday.
|
|
59
|
+
self._add_easter_monday("Easter Monday")
|
|
60
|
+
|
|
61
|
+
# Workers' Day.
|
|
62
|
+
self._add_labor_day("Workers' Day")
|
|
40
63
|
|
|
41
|
-
|
|
42
|
-
|
|
64
|
+
# Ascension Day.
|
|
65
|
+
self._add_ascension_thursday("Ascension Day")
|
|
43
66
|
|
|
44
|
-
|
|
45
|
-
|
|
67
|
+
# https://en.wikipedia.org/wiki/Letsie_III
|
|
68
|
+
self._add_holiday(
|
|
69
|
+
# King's Birthday.
|
|
70
|
+
"King's Birthday",
|
|
71
|
+
*((JUL, 17) if year >= 1998 else (MAY, 2)),
|
|
72
|
+
)
|
|
46
73
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
self[easter_date + td(days=+1)] = "Easter Monday"
|
|
50
|
-
self[easter_date + td(days=+39)] = "Ascension Day"
|
|
51
|
-
self[date(year, MAY, 1)] = "Workers' Day"
|
|
74
|
+
# Independence Day.
|
|
75
|
+
self._add_holiday("Independence Day", OCT, 4)
|
|
52
76
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
self[date(year, JUL, 17)] = "King's Birthday"
|
|
56
|
-
if year <= 1997:
|
|
57
|
-
self[date(year, MAY, 2)] = "King's Birthday"
|
|
77
|
+
# Christmas Day.
|
|
78
|
+
self._add_christmas_day("Christmas Day")
|
|
58
79
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
self[date(year, DEC, 26)] = "Boxing Day"
|
|
80
|
+
# Boxing Day.
|
|
81
|
+
self._add_christmas_day_two("Boxing Day")
|
|
62
82
|
|
|
63
83
|
|
|
64
84
|
class LS(Lesotho):
|
holidays/countries/lithuania.py
CHANGED
|
@@ -44,9 +44,7 @@ class Lithuania(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
44
44
|
# Day of Restoration of Independence of Lithuania
|
|
45
45
|
# (from the Soviet Union, 1990).
|
|
46
46
|
if year >= 1990:
|
|
47
|
-
self._add_holiday(
|
|
48
|
-
"Lietuvos nepriklausomybės atkūrimo diena", MAR, 11
|
|
49
|
-
)
|
|
47
|
+
self._add_holiday("Lietuvos nepriklausomybės atkūrimo diena", MAR, 11)
|
|
50
48
|
|
|
51
49
|
# Easter.
|
|
52
50
|
self._add_easter_sunday("Velykos")
|
|
@@ -58,14 +56,10 @@ class Lithuania(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
58
56
|
self._add_labor_day("Tarptautinė darbo diena")
|
|
59
57
|
|
|
60
58
|
# Mother's day. First Sunday in May.
|
|
61
|
-
self._add_holiday(
|
|
62
|
-
"Motinos diena", _get_nth_weekday_of_month(1, SUN, MAY, year)
|
|
63
|
-
)
|
|
59
|
+
self._add_holiday("Motinos diena", _get_nth_weekday_of_month(1, SUN, MAY, year))
|
|
64
60
|
|
|
65
61
|
# Fathers's day. First Sunday in June.
|
|
66
|
-
self._add_holiday(
|
|
67
|
-
"Tėvo diena", _get_nth_weekday_of_month(1, SUN, JUN, year)
|
|
68
|
-
)
|
|
62
|
+
self._add_holiday("Tėvo diena", _get_nth_weekday_of_month(1, SUN, JUN, year))
|
|
69
63
|
|
|
70
64
|
# St. John's Day (Christian name).
|
|
71
65
|
# Day of Dew (original pagan name).
|
|
@@ -81,9 +75,7 @@ class Lithuania(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
81
75
|
)
|
|
82
76
|
|
|
83
77
|
# Assumption Day.
|
|
84
|
-
self._add_assumption_of_mary_day(
|
|
85
|
-
"Žolinė (Švč. Mergelės Marijos ėmimo į dangų diena)"
|
|
86
|
-
)
|
|
78
|
+
self._add_assumption_of_mary_day("Žolinė (Švč. Mergelės Marijos ėmimo į dangų diena)")
|
|
87
79
|
|
|
88
80
|
# All Saints' Day.
|
|
89
81
|
self._add_all_saints_day("Visų šventųjų diena (Vėlinės)")
|
holidays/countries/madagascar.py
CHANGED
|
@@ -38,16 +38,12 @@ class Madagascar(HolidayBase):
|
|
|
38
38
|
self[date(year, MAR, 8)] = "Fetin'ny vehivavy / Women's Day"
|
|
39
39
|
self[date(year, MAR, 29)] = "Fetin'ny mahery fo / Martyrs' Day"
|
|
40
40
|
self[date(year, MAY, 1)] = "Labour Day"
|
|
41
|
-
self[
|
|
42
|
-
_get_nth_weekday_of_month(3, SUN, JUN, year)
|
|
43
|
-
] = "Fetin'ny ray / Father's Day"
|
|
41
|
+
self[_get_nth_weekday_of_month(3, SUN, JUN, year)] = "Fetin'ny ray / Father's Day"
|
|
44
42
|
|
|
45
43
|
if year >= 1960:
|
|
46
44
|
self[date(year, JUN, 26)] = "Independence Day"
|
|
47
45
|
|
|
48
|
-
self[
|
|
49
|
-
date(year, AUG, 15)
|
|
50
|
-
] = "Fiakaran'ny Masina Maria tany an-danitra / Assumption Day"
|
|
46
|
+
self[date(year, AUG, 15)] = "Fiakaran'ny Masina Maria tany an-danitra / Assumption Day"
|
|
51
47
|
|
|
52
48
|
self[date(year, NOV, 1)] = "Fetin'ny olo-masina / All Saints' Day"
|
|
53
49
|
|
|
@@ -66,9 +62,7 @@ class Madagascar(HolidayBase):
|
|
|
66
62
|
whit_sunday = easter_date + td(days=+49)
|
|
67
63
|
self[whit_sunday] = "Pentekosta / Whit Sunday"
|
|
68
64
|
|
|
69
|
-
self[
|
|
70
|
-
easter_date + td(days=+50)
|
|
71
|
-
] = "Alatsinain'ny pentekosta / Whit Monday"
|
|
65
|
+
self[easter_date + td(days=+50)] = "Alatsinain'ny pentekosta / Whit Monday"
|
|
72
66
|
|
|
73
67
|
dt = _get_nth_weekday_of_month(-1, SUN, MAY, year)
|
|
74
68
|
if dt == whit_sunday:
|
holidays/countries/malawi.py
CHANGED
|
@@ -12,13 +12,12 @@
|
|
|
12
12
|
from datetime import date
|
|
13
13
|
from datetime import timedelta as td
|
|
14
14
|
|
|
15
|
-
from
|
|
16
|
-
|
|
17
|
-
from holidays.constants import JAN, MAR, MAY, JUL, OCT, DEC
|
|
15
|
+
from holidays.constants import JAN, MAR, MAY, JUL, OCT
|
|
18
16
|
from holidays.holiday_base import HolidayBase
|
|
17
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
19
18
|
|
|
20
19
|
|
|
21
|
-
class Malawi(HolidayBase):
|
|
20
|
+
class Malawi(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
22
21
|
"""
|
|
23
22
|
https://www.officeholidays.com/countries/malawi
|
|
24
23
|
https://www.timeanddate.com/holidays/malawi/
|
|
@@ -26,37 +25,46 @@ class Malawi(HolidayBase):
|
|
|
26
25
|
|
|
27
26
|
country = "MW"
|
|
28
27
|
|
|
29
|
-
def
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
)
|
|
38
|
-
|
|
28
|
+
def __init__(self, *args, **kwargs):
|
|
29
|
+
ChristianHolidays.__init__(self)
|
|
30
|
+
InternationalHolidays.__init__(self)
|
|
31
|
+
super().__init__(*args, **kwargs)
|
|
32
|
+
|
|
33
|
+
def _add_observed(self, dt: date, days: int = +1) -> None:
|
|
34
|
+
if self.observed and self._is_weekend(dt):
|
|
35
|
+
self._add_holiday(
|
|
36
|
+
"%s (Observed)" % self[dt],
|
|
37
|
+
dt + td(+2 if self._is_saturday(dt) else days),
|
|
38
|
+
)
|
|
39
39
|
|
|
40
|
+
def _populate(self, year):
|
|
40
41
|
# Observed since 2000
|
|
41
42
|
if year <= 1999:
|
|
42
43
|
return None
|
|
43
44
|
|
|
44
45
|
super()._populate(year)
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
self._add_observed(self._add_new_years_day("New Year's Day"))
|
|
48
|
+
|
|
49
|
+
self._add_observed(self._add_holiday("John Chilembwe Day", JAN, 15))
|
|
50
|
+
|
|
51
|
+
self._add_observed(self._add_holiday("Martyrs Day", MAR, 3))
|
|
52
|
+
|
|
53
|
+
self._add_good_friday("Good Friday")
|
|
54
|
+
|
|
55
|
+
self._add_easter_monday("Easter Monday")
|
|
56
|
+
|
|
57
|
+
self._add_observed(self._add_labor_day("Labour Day"))
|
|
58
|
+
|
|
59
|
+
self._add_observed(self._add_holiday("Kamuzu Day", MAY, 14))
|
|
60
|
+
|
|
61
|
+
self._add_observed(self._add_holiday("Independence Day", JUL, 6))
|
|
62
|
+
|
|
63
|
+
self._add_observed(self._add_holiday("Mother's Day", OCT, 15))
|
|
49
64
|
|
|
50
|
-
|
|
51
|
-
self[easter_date + td(days=-2)] = "Good Friday"
|
|
52
|
-
self[easter_date + td(days=+1)] = "Easter Monday"
|
|
65
|
+
self._add_observed(self._add_christmas_day("Christmas Day"), days=+2)
|
|
53
66
|
|
|
54
|
-
|
|
55
|
-
_add_with_observed(date(year, MAY, 14), "Kamuzu Day")
|
|
56
|
-
_add_with_observed(date(year, JUL, 6), "Independence Day")
|
|
57
|
-
_add_with_observed(date(year, OCT, 15), "Mother's Day")
|
|
58
|
-
_add_with_observed(date(year, DEC, 25), "Christmas Day", days=+2)
|
|
59
|
-
_add_with_observed(date(year, DEC, 26), "Boxing Day", days=+2)
|
|
67
|
+
self._add_observed(self._add_christmas_day_two("Boxing Day"), days=+2)
|
|
60
68
|
|
|
61
69
|
|
|
62
70
|
class MW(Malawi):
|