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/serbia.py
CHANGED
|
@@ -12,11 +12,10 @@
|
|
|
12
12
|
from datetime import date
|
|
13
13
|
from datetime import timedelta as td
|
|
14
14
|
from gettext import gettext as tr
|
|
15
|
-
from typing import Optional
|
|
16
15
|
|
|
17
16
|
from holidays.calendars import JULIAN_CALENDAR
|
|
18
|
-
from holidays.constants import
|
|
19
|
-
from holidays.holiday_base import
|
|
17
|
+
from holidays.constants import FEB
|
|
18
|
+
from holidays.holiday_base import HolidayBase
|
|
20
19
|
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
21
20
|
|
|
22
21
|
|
|
@@ -37,48 +36,39 @@ class Serbia(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
37
36
|
InternationalHolidays.__init__(self)
|
|
38
37
|
super().__init__(*args, **kwargs)
|
|
39
38
|
|
|
40
|
-
def
|
|
41
|
-
self
|
|
42
|
-
|
|
43
|
-
return self._add_holiday(
|
|
44
|
-
self.tr("%s (слободан дан)") % self.tr(name), *dt
|
|
45
|
-
)
|
|
39
|
+
def _add_observed(self, dt: date, days: int = +1) -> None:
|
|
40
|
+
if self.observed and self._is_sunday(dt):
|
|
41
|
+
self._add_holiday(self.tr("%s (слободан дан)") % self[dt], dt + td(days))
|
|
46
42
|
|
|
47
43
|
def _populate(self, year):
|
|
48
44
|
super()._populate(year)
|
|
49
45
|
|
|
50
46
|
# New Year's Day.
|
|
51
47
|
name = tr("Нова година")
|
|
52
|
-
self._add_new_years_day(name)
|
|
53
|
-
self._add_new_years_day_two(name)
|
|
54
|
-
if self.observed and self._is_weekend(JAN, 1):
|
|
55
|
-
self._add_observed_holiday(name, JAN, 3)
|
|
48
|
+
self._add_observed(self._add_new_years_day(name), days=+2)
|
|
49
|
+
self._add_observed(self._add_new_years_day_two(name))
|
|
56
50
|
|
|
57
51
|
# Orthodox Christmas.
|
|
58
52
|
self._add_christmas_day(tr("Божић"))
|
|
59
53
|
|
|
60
54
|
# Statehood Day.
|
|
61
55
|
name = tr("Дан државности Србије")
|
|
62
|
-
self._add_holiday(name, FEB, 15)
|
|
63
|
-
self._add_holiday(name, FEB, 16)
|
|
64
|
-
if self.observed and self._is_weekend(FEB, 15):
|
|
65
|
-
self._add_observed_holiday(name, FEB, 17)
|
|
56
|
+
self._add_observed(self._add_holiday(name, FEB, 15), days=+2)
|
|
57
|
+
self._add_observed(self._add_holiday(name, FEB, 16))
|
|
66
58
|
|
|
67
59
|
# International Workers' Day.
|
|
68
60
|
name = tr("Празник рада")
|
|
69
61
|
may_1 = self._add_labor_day(name)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
self.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if self.observed and self._is_sunday(nov_11):
|
|
81
|
-
self._add_holiday(name, nov_11 + td(days=+1))
|
|
62
|
+
self._add_observed(may_1, days=+2)
|
|
63
|
+
self._add_observed(
|
|
64
|
+
self._add_holiday(name, may_1 + td(days=+1)),
|
|
65
|
+
days=+2 if may_1 + td(days=+1) == self._easter_sunday else +1,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
self._add_observed(
|
|
69
|
+
# Armistice Day.
|
|
70
|
+
self._add_remembrance_day(tr("Дан примирја у Првом светском рату"))
|
|
71
|
+
)
|
|
82
72
|
|
|
83
73
|
# Good Friday.
|
|
84
74
|
self._add_good_friday(tr("Велики петак"))
|
holidays/countries/singapore.py
CHANGED
|
@@ -11,15 +11,22 @@
|
|
|
11
11
|
|
|
12
12
|
from datetime import timedelta as td
|
|
13
13
|
|
|
14
|
-
from holidays.calendars import
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
from holidays.calendars import (
|
|
15
|
+
_CustomBuddhistCalendar,
|
|
16
|
+
_CustomChineseCalendar,
|
|
17
|
+
_CustomIslamicCalendar,
|
|
18
|
+
_CustomHinduCalendar,
|
|
19
|
+
)
|
|
20
|
+
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
18
21
|
from holidays.holiday_base import HolidayBase
|
|
19
|
-
from holidays.holiday_groups import
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
from holidays.holiday_groups import (
|
|
23
|
+
BuddhistCalendarHolidays,
|
|
24
|
+
ChineseCalendarHolidays,
|
|
25
|
+
ChristianHolidays,
|
|
26
|
+
HinduCalendarHolidays,
|
|
27
|
+
InternationalHolidays,
|
|
28
|
+
IslamicHolidays,
|
|
29
|
+
)
|
|
23
30
|
|
|
24
31
|
|
|
25
32
|
class Singapore(
|
|
@@ -33,9 +40,9 @@ class Singapore(
|
|
|
33
40
|
):
|
|
34
41
|
country = "SG"
|
|
35
42
|
special_holidays = {
|
|
36
|
-
2001: (
|
|
37
|
-
2006: (
|
|
38
|
-
2011: (
|
|
43
|
+
2001: (NOV, 3, "Polling Day"),
|
|
44
|
+
2006: (MAY, 6, "Polling Day"),
|
|
45
|
+
2011: (MAY, 7, "Polling Day"),
|
|
39
46
|
2015: (
|
|
40
47
|
# SG50 Public holiday
|
|
41
48
|
# Announced on 14 March 2015
|
|
@@ -43,7 +50,7 @@ class Singapore(
|
|
|
43
50
|
(AUG, 7, "SG50 Public Holiday"),
|
|
44
51
|
(SEP, 11, "Polling Day"),
|
|
45
52
|
),
|
|
46
|
-
2020: (
|
|
53
|
+
2020: (JUL, 10, "Polling Day"),
|
|
47
54
|
}
|
|
48
55
|
|
|
49
56
|
def __init__(self, *args, **kwargs) -> None:
|
|
@@ -101,12 +108,8 @@ class Singapore(
|
|
|
101
108
|
|
|
102
109
|
# Chinese New Year (two days)
|
|
103
110
|
name = "Chinese New Year"
|
|
104
|
-
observed_dates.add(
|
|
105
|
-
|
|
106
|
-
)
|
|
107
|
-
observed_dates.add(
|
|
108
|
-
self._add_chinese_new_years_day_two(name) # type: ignore[arg-type]
|
|
109
|
-
)
|
|
111
|
+
observed_dates.add(self._add_chinese_new_years_day(name)) # type: ignore[arg-type]
|
|
112
|
+
observed_dates.add(self._add_chinese_new_years_day_two(name)) # type: ignore[arg-type]
|
|
110
113
|
|
|
111
114
|
# Hari Raya Puasa (Eid al-Fitr)
|
|
112
115
|
observed_dates.update(self._add_eid_al_fitr_day("Hari Raya Puasa"))
|
|
@@ -130,19 +133,13 @@ class Singapore(
|
|
|
130
133
|
observed_dates.add(self._add_labor_day("Labour Day"))
|
|
131
134
|
|
|
132
135
|
# Vesak Day
|
|
133
|
-
observed_dates.add(
|
|
134
|
-
self._add_vesak("Vesak Day") # type: ignore[arg-type]
|
|
135
|
-
)
|
|
136
|
+
observed_dates.add(self._add_vesak("Vesak Day")) # type: ignore[arg-type]
|
|
136
137
|
|
|
137
138
|
# National Day
|
|
138
|
-
observed_dates.add(
|
|
139
|
-
self._add_holiday("National Day", AUG, 9) # type: ignore[arg-type]
|
|
140
|
-
)
|
|
139
|
+
observed_dates.add(self._add_holiday("National Day", AUG, 9)) # type: ignore[arg-type]
|
|
141
140
|
|
|
142
141
|
# Deepavali (Diwali)
|
|
143
|
-
observed_dates.add(
|
|
144
|
-
self._add_diwali("Deepavali") # type: ignore[arg-type]
|
|
145
|
-
)
|
|
142
|
+
observed_dates.add(self._add_diwali("Deepavali")) # type: ignore[arg-type]
|
|
146
143
|
|
|
147
144
|
# Christmas Day
|
|
148
145
|
observed_dates.add(self._add_christmas_day("Christmas Day"))
|
|
@@ -163,8 +160,7 @@ class Singapore(
|
|
|
163
160
|
continue
|
|
164
161
|
self._add_holiday(
|
|
165
162
|
"%s (Observed)" % self[dt],
|
|
166
|
-
dt
|
|
167
|
-
+ td(days=2 if dt + td(days=+1) in observed_dates else 1),
|
|
163
|
+
dt + td(days=2 if dt + td(days=+1) in observed_dates else 1),
|
|
168
164
|
)
|
|
169
165
|
|
|
170
166
|
# special case (observed from previous year)
|
|
@@ -266,53 +262,53 @@ class SingaporeHinduCalendar(_CustomHinduCalendar):
|
|
|
266
262
|
|
|
267
263
|
class SingaporeIslamicCalendar(_CustomIslamicCalendar):
|
|
268
264
|
EID_AL_ADHA_DATES = {
|
|
269
|
-
2001: (
|
|
270
|
-
2002: (
|
|
271
|
-
2003: (
|
|
272
|
-
2004: (
|
|
273
|
-
2005: (
|
|
265
|
+
2001: (MAR, 6),
|
|
266
|
+
2002: (FEB, 23),
|
|
267
|
+
2003: (FEB, 12),
|
|
268
|
+
2004: (FEB, 1),
|
|
269
|
+
2005: (JAN, 21),
|
|
274
270
|
2006: ((JAN, 10), (DEC, 31)),
|
|
275
|
-
2007: (
|
|
276
|
-
2008: (
|
|
277
|
-
2009: (
|
|
278
|
-
2010: (
|
|
279
|
-
2011: (
|
|
280
|
-
2012: (
|
|
281
|
-
2013: (
|
|
282
|
-
2014: (
|
|
283
|
-
2015: (
|
|
284
|
-
2016: (
|
|
285
|
-
2017: (
|
|
286
|
-
2018: (
|
|
287
|
-
2019: (
|
|
288
|
-
2020: (
|
|
289
|
-
2021: (
|
|
290
|
-
2022: (
|
|
291
|
-
2023: (
|
|
271
|
+
2007: (DEC, 20),
|
|
272
|
+
2008: (DEC, 8),
|
|
273
|
+
2009: (NOV, 27),
|
|
274
|
+
2010: (NOV, 17),
|
|
275
|
+
2011: (NOV, 6),
|
|
276
|
+
2012: (OCT, 26),
|
|
277
|
+
2013: (OCT, 15),
|
|
278
|
+
2014: (OCT, 5),
|
|
279
|
+
2015: (SEP, 24),
|
|
280
|
+
2016: (SEP, 12),
|
|
281
|
+
2017: (SEP, 1),
|
|
282
|
+
2018: (AUG, 22),
|
|
283
|
+
2019: (AUG, 11),
|
|
284
|
+
2020: (JUL, 31),
|
|
285
|
+
2021: (JUL, 20),
|
|
286
|
+
2022: (JUL, 10),
|
|
287
|
+
2023: (JUN, 29),
|
|
292
288
|
}
|
|
293
289
|
|
|
294
290
|
EID_AL_FITR_DATES = {
|
|
295
|
-
2001: (
|
|
296
|
-
2002: (
|
|
297
|
-
2003: (
|
|
298
|
-
2004: (
|
|
299
|
-
2005: (
|
|
300
|
-
2006: (
|
|
301
|
-
2007: (
|
|
302
|
-
2008: (
|
|
303
|
-
2009: (
|
|
304
|
-
2010: (
|
|
305
|
-
2011: (
|
|
306
|
-
2012: (
|
|
307
|
-
2013: (
|
|
308
|
-
2014: (
|
|
309
|
-
2015: (
|
|
310
|
-
2016: (
|
|
311
|
-
2017: (
|
|
312
|
-
2018: (
|
|
313
|
-
2019: (
|
|
314
|
-
2020: (
|
|
315
|
-
2021: (
|
|
316
|
-
2022: (
|
|
317
|
-
2023: (
|
|
291
|
+
2001: (DEC, 16),
|
|
292
|
+
2002: (DEC, 6),
|
|
293
|
+
2003: (NOV, 25),
|
|
294
|
+
2004: (NOV, 14),
|
|
295
|
+
2005: (NOV, 3),
|
|
296
|
+
2006: (OCT, 24),
|
|
297
|
+
2007: (OCT, 13),
|
|
298
|
+
2008: (OCT, 1),
|
|
299
|
+
2009: (SEP, 20),
|
|
300
|
+
2010: (SEP, 10),
|
|
301
|
+
2011: (AUG, 30),
|
|
302
|
+
2012: (AUG, 19),
|
|
303
|
+
2013: (AUG, 8),
|
|
304
|
+
2014: (JUL, 28),
|
|
305
|
+
2015: (JUL, 17),
|
|
306
|
+
2016: (JUL, 6),
|
|
307
|
+
2017: (JUN, 25),
|
|
308
|
+
2018: (JUN, 15),
|
|
309
|
+
2019: (JUN, 5),
|
|
310
|
+
2020: (MAY, 24),
|
|
311
|
+
2021: (MAY, 13),
|
|
312
|
+
2022: (MAY, 3),
|
|
313
|
+
2023: (APR, 22),
|
|
318
314
|
}
|
holidays/countries/slovakia.py
CHANGED
|
@@ -54,10 +54,7 @@ class Slovakia(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
54
54
|
|
|
55
55
|
# Epiphany.
|
|
56
56
|
self._add_epiphany_day(
|
|
57
|
-
tr(
|
|
58
|
-
"Zjavenie Pána (Traja králi a "
|
|
59
|
-
"vianočnýsviatok pravoslávnych kresťanov)"
|
|
60
|
-
)
|
|
57
|
+
tr("Zjavenie Pána (Traja králi a vianočnýsviatok pravoslávnych kresťanov)")
|
|
61
58
|
)
|
|
62
59
|
|
|
63
60
|
# Good Friday.
|
|
@@ -12,15 +12,13 @@
|
|
|
12
12
|
from datetime import date
|
|
13
13
|
from datetime import timedelta as td
|
|
14
14
|
|
|
15
|
-
from dateutil.easter import easter
|
|
16
|
-
|
|
17
15
|
from holidays.calendars import _get_nth_weekday_of_month
|
|
18
|
-
from holidays.constants import JAN, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT
|
|
19
|
-
from holidays.constants import NOV, DEC, MON, FRI
|
|
16
|
+
from holidays.constants import JAN, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, MON, FRI
|
|
20
17
|
from holidays.holiday_base import HolidayBase
|
|
18
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
21
19
|
|
|
22
20
|
|
|
23
|
-
class SouthAfrica(HolidayBase):
|
|
21
|
+
class SouthAfrica(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
24
22
|
"""
|
|
25
23
|
http://www.gov.za/about-sa/public-holidays
|
|
26
24
|
https://en.wikipedia.org/wiki/Public_holidays_in_South_Africa
|
|
@@ -32,46 +30,48 @@ class SouthAfrica(HolidayBase):
|
|
|
32
30
|
(JUN, 2, "National and provincial government elections"),
|
|
33
31
|
(DEC, 31, "Y2K changeover"),
|
|
34
32
|
),
|
|
35
|
-
2000: (
|
|
36
|
-
2004: (
|
|
37
|
-
2006: (
|
|
38
|
-
2008: (
|
|
39
|
-
2009: (
|
|
33
|
+
2000: (JAN, 2, "Y2K changeover"),
|
|
34
|
+
2004: (APR, 14, "National and provincial government elections"),
|
|
35
|
+
2006: (MAR, 1, "Local government elections"),
|
|
36
|
+
2008: (MAY, 2, "Public holiday by presidential decree"),
|
|
37
|
+
2009: (APR, 22, "National and provincial government elections"),
|
|
40
38
|
2011: (
|
|
41
39
|
(MAY, 18, "Local government elections"),
|
|
42
40
|
(DEC, 27, "Public holiday by presidential decree"),
|
|
43
41
|
),
|
|
44
|
-
2014: (
|
|
42
|
+
2014: (MAY, 7, "National and provincial government elections"),
|
|
45
43
|
2016: (
|
|
46
44
|
(AUG, 3, "Local government elections"),
|
|
47
45
|
(DEC, 27, "Public holiday by presidential decree"),
|
|
48
46
|
),
|
|
49
|
-
2019: (
|
|
50
|
-
2021: (
|
|
51
|
-
2022: (
|
|
47
|
+
2019: (MAY, 8, "National and provincial government elections"),
|
|
48
|
+
2021: (NOV, 1, "Municipal elections"),
|
|
49
|
+
2022: (DEC, 27, "Public holiday by presidential decree"),
|
|
52
50
|
}
|
|
53
51
|
|
|
54
|
-
def
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
def __init__(self, *args, **kwargs):
|
|
53
|
+
ChristianHolidays.__init__(self)
|
|
54
|
+
InternationalHolidays.__init__(self)
|
|
55
|
+
super().__init__(*args, **kwargs)
|
|
56
|
+
|
|
57
|
+
def _add_observed(self, dt: date) -> None:
|
|
58
|
+
# As of 1995/1/1, whenever a public holiday falls on a Sunday,
|
|
59
|
+
# it rolls over to the following Monday
|
|
60
|
+
if self.observed and self._is_sunday(dt) and self._year >= 1995:
|
|
61
|
+
self._add_holiday("%s (Observed)" % self[dt], dt + td(days=+1))
|
|
61
62
|
|
|
63
|
+
def _populate(self, year):
|
|
62
64
|
# Observed since 1910, with a few name changes
|
|
63
65
|
if year <= 1909:
|
|
64
66
|
return None
|
|
65
67
|
|
|
66
68
|
super()._populate(year)
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
self._add_observed(self._add_new_years_day("New Year's Day"))
|
|
69
71
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
self
|
|
73
|
-
"Family Day" if year >= 1980 else "Easter Monday"
|
|
74
|
-
)
|
|
72
|
+
self._add_good_friday("Good Friday")
|
|
73
|
+
|
|
74
|
+
self._add_easter_monday("Family Day" if year >= 1980 else "Easter Monday")
|
|
75
75
|
|
|
76
76
|
if year <= 1951:
|
|
77
77
|
name = "Dingaan's Day"
|
|
@@ -81,72 +81,70 @@ class SouthAfrica(HolidayBase):
|
|
|
81
81
|
name = "Day of the Vow"
|
|
82
82
|
else:
|
|
83
83
|
name = "Day of Reconciliation"
|
|
84
|
-
|
|
84
|
+
self._add_observed(self._add_holiday(name, DEC, 16))
|
|
85
85
|
|
|
86
|
-
self
|
|
86
|
+
self._add_christmas_day("Christmas Day")
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
self._add_observed(
|
|
89
|
+
self._add_christmas_day_two(
|
|
90
|
+
"Day of Goodwill" if year >= 1980 else "Boxing Day",
|
|
91
|
+
)
|
|
91
92
|
)
|
|
92
93
|
|
|
93
|
-
# Observed since 1995/1/1
|
|
94
94
|
if year >= 1995:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
95
|
+
self._add_observed(self._add_holiday("Human Rights Day", MAR, 21))
|
|
96
|
+
|
|
97
|
+
self._add_observed(self._add_holiday("Freedom Day", APR, 27))
|
|
98
|
+
|
|
99
|
+
self._add_observed(self._add_labor_day("Workers' Day"))
|
|
100
|
+
|
|
101
|
+
self._add_observed(self._add_holiday("Youth Day", JUN, 16))
|
|
102
|
+
|
|
103
|
+
self._add_observed(self._add_holiday("National Women's Day", AUG, 9))
|
|
104
|
+
|
|
105
|
+
self._add_observed(self._add_holiday("Heritage Day", SEP, 24))
|
|
101
106
|
|
|
102
107
|
# Special holiday http://tiny.cc/za_y2k
|
|
103
108
|
if self.observed and year == 2000:
|
|
104
|
-
self
|
|
109
|
+
self._add_holiday("Y2K changeover (Observed)", JAN, 3)
|
|
105
110
|
|
|
106
111
|
# Historic public holidays no longer observed
|
|
107
112
|
if 1952 <= year <= 1973:
|
|
108
|
-
self
|
|
113
|
+
self._add_holiday("Van Riebeeck's Day", APR, 6)
|
|
109
114
|
elif 1980 <= year <= 1994:
|
|
110
|
-
self
|
|
115
|
+
self._add_holiday("Founder's Day", APR, 6)
|
|
111
116
|
|
|
112
117
|
if 1987 <= year <= 1989:
|
|
113
|
-
|
|
114
|
-
self[_get_nth_weekday_of_month(1, FRI, MAY, year)] = "Workers' Day"
|
|
118
|
+
self._add_holiday("Workers' Day", _get_nth_weekday_of_month(1, FRI, MAY, year))
|
|
115
119
|
|
|
116
120
|
if year <= 1993:
|
|
117
|
-
self
|
|
121
|
+
self._add_ascension_thursday("Ascension Day")
|
|
118
122
|
|
|
119
123
|
if year <= 1951:
|
|
120
|
-
self
|
|
124
|
+
self._add_holiday("Empire Day", MAY, 24)
|
|
121
125
|
|
|
122
126
|
if year <= 1960:
|
|
123
|
-
self
|
|
127
|
+
self._add_holiday("Union Day", MAY, 31)
|
|
124
128
|
elif year <= 1993:
|
|
125
|
-
self
|
|
129
|
+
self._add_holiday("Republic Day", MAY, 31)
|
|
126
130
|
|
|
127
131
|
if 1952 <= year <= 1960:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
_get_nth_weekday_of_month(2, MON, JUL, year)
|
|
131
|
-
|
|
132
|
+
self._add_holiday(
|
|
133
|
+
"Queen's Birthday",
|
|
134
|
+
_get_nth_weekday_of_month(2, MON, JUL, year),
|
|
135
|
+
)
|
|
132
136
|
|
|
133
137
|
if 1961 <= year <= 1973:
|
|
134
|
-
self
|
|
138
|
+
self._add_holiday("Family Day", JUL, 10)
|
|
135
139
|
|
|
136
140
|
if year <= 1951:
|
|
137
|
-
|
|
138
|
-
self[
|
|
139
|
-
_get_nth_weekday_of_month(1, MON, AUG, year)
|
|
140
|
-
] = "King's Birthday"
|
|
141
|
+
self._add_holiday("King's Birthday", _get_nth_weekday_of_month(1, MON, AUG, year))
|
|
141
142
|
|
|
142
143
|
if 1952 <= year <= 1979:
|
|
143
|
-
|
|
144
|
-
self[
|
|
145
|
-
_get_nth_weekday_of_month(1, MON, SEP, year)
|
|
146
|
-
] = "Settlers' Day"
|
|
144
|
+
self._add_holiday("Settlers' Day", _get_nth_weekday_of_month(1, MON, SEP, year))
|
|
147
145
|
|
|
148
146
|
if 1952 <= year <= 1993:
|
|
149
|
-
self
|
|
147
|
+
self._add_holiday("Kruger Day", OCT, 10)
|
|
150
148
|
|
|
151
149
|
|
|
152
150
|
class ZA(SouthAfrica):
|
|
@@ -14,12 +14,14 @@ import warnings
|
|
|
14
14
|
from datetime import date
|
|
15
15
|
from datetime import timedelta as td
|
|
16
16
|
|
|
17
|
-
from holidays.calendars import
|
|
18
|
-
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP
|
|
19
|
-
from holidays.constants import OCT, SAT, SUN
|
|
17
|
+
from holidays.calendars import _CustomChineseCalendar
|
|
18
|
+
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, SAT, SUN
|
|
20
19
|
from holidays.holiday_base import HolidayBase
|
|
21
|
-
from holidays.holiday_groups import
|
|
22
|
-
|
|
20
|
+
from holidays.holiday_groups import (
|
|
21
|
+
ChineseCalendarHolidays,
|
|
22
|
+
ChristianHolidays,
|
|
23
|
+
InternationalHolidays,
|
|
24
|
+
)
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
class SouthKorea(
|
|
@@ -50,9 +52,7 @@ class SouthKorea(
|
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
def __init__(self, *args, **kwargs):
|
|
53
|
-
ChineseCalendarHolidays.__init__(
|
|
54
|
-
self, calendar=SouthKoreaLunisolarCalendar()
|
|
55
|
-
)
|
|
55
|
+
ChineseCalendarHolidays.__init__(self, calendar=SouthKoreaLunisolarCalendar())
|
|
56
56
|
ChristianHolidays.__init__(self)
|
|
57
57
|
InternationalHolidays.__init__(self)
|
|
58
58
|
super().__init__(*args, **kwargs)
|
|
@@ -94,8 +94,7 @@ class SouthKorea(
|
|
|
94
94
|
if include_sat:
|
|
95
95
|
target_weekday.add(SAT)
|
|
96
96
|
if (
|
|
97
|
-
hol_date.weekday() in target_weekday
|
|
98
|
-
or len(self.get_list(hol_date)) > 1
|
|
97
|
+
hol_date.weekday() in target_weekday or len(self.get_list(hol_date)) > 1
|
|
99
98
|
) and hol_date.year >= since:
|
|
100
99
|
hol_date += td(days=+1)
|
|
101
100
|
while hol_date.weekday() in target_weekday or hol_date in self:
|
|
@@ -129,9 +128,7 @@ class SouthKorea(
|
|
|
129
128
|
)
|
|
130
129
|
|
|
131
130
|
# Independence Movement Day
|
|
132
|
-
self._add_with_alt_holiday(
|
|
133
|
-
"Independence Movement Day", date(year, MAR, 1)
|
|
134
|
-
)
|
|
131
|
+
self._add_with_alt_holiday("Independence Movement Day", date(year, MAR, 1))
|
|
135
132
|
|
|
136
133
|
# Tree Planting Day
|
|
137
134
|
# removed from holiday since 2006
|
|
@@ -149,9 +146,7 @@ class SouthKorea(
|
|
|
149
146
|
|
|
150
147
|
# Children's Day
|
|
151
148
|
if year >= 1975:
|
|
152
|
-
self._add_with_alt_holiday(
|
|
153
|
-
"Children's Day", date(year, MAY, 5), since=2015
|
|
154
|
-
)
|
|
149
|
+
self._add_with_alt_holiday("Children's Day", date(year, MAY, 5), since=2015)
|
|
155
150
|
|
|
156
151
|
# Labour Day
|
|
157
152
|
name = "Labour Day"
|
|
@@ -187,9 +182,7 @@ class SouthKorea(
|
|
|
187
182
|
)
|
|
188
183
|
|
|
189
184
|
# National Foundation Day
|
|
190
|
-
self._add_with_alt_holiday(
|
|
191
|
-
"National Foundation Day", date(year, OCT, 3)
|
|
192
|
-
)
|
|
185
|
+
self._add_with_alt_holiday("National Foundation Day", date(year, OCT, 3))
|
|
193
186
|
|
|
194
187
|
# Hangeul Day
|
|
195
188
|
if year <= 1990 or year >= 2013:
|
|
@@ -197,9 +190,7 @@ class SouthKorea(
|
|
|
197
190
|
|
|
198
191
|
# Christmas Day
|
|
199
192
|
name = "Christmas Day"
|
|
200
|
-
self._add_with_alt_holiday(
|
|
201
|
-
name, self._add_christmas_day(name), add_hol=False, since=2023
|
|
202
|
-
)
|
|
193
|
+
self._add_with_alt_holiday(name, self._add_christmas_day(name), add_hol=False, since=2023)
|
|
203
194
|
|
|
204
195
|
|
|
205
196
|
class Korea(SouthKorea):
|
|
@@ -220,7 +211,7 @@ class KOR(SouthKorea):
|
|
|
220
211
|
pass
|
|
221
212
|
|
|
222
213
|
|
|
223
|
-
class SouthKoreaLunisolarCalendar(
|
|
214
|
+
class SouthKoreaLunisolarCalendar(_CustomChineseCalendar):
|
|
224
215
|
BUDDHA_BIRTHDAY_DATES = {
|
|
225
216
|
1931: (MAY, 25),
|
|
226
217
|
1968: (MAY, 5),
|
holidays/countries/spain.py
CHANGED
|
@@ -15,13 +15,10 @@ from typing import Optional
|
|
|
15
15
|
|
|
16
16
|
from holidays.constants import FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, DEC
|
|
17
17
|
from holidays.holiday_base import HolidayBase
|
|
18
|
-
from holidays.holiday_groups import ChristianHolidays, IslamicHolidays
|
|
19
|
-
from holidays.holiday_groups import InternationalHolidays
|
|
18
|
+
from holidays.holiday_groups import ChristianHolidays, IslamicHolidays, InternationalHolidays
|
|
20
19
|
|
|
21
20
|
|
|
22
|
-
class Spain(
|
|
23
|
-
HolidayBase, ChristianHolidays, IslamicHolidays, InternationalHolidays
|
|
24
|
-
):
|
|
21
|
+
class Spain(HolidayBase, ChristianHolidays, IslamicHolidays, InternationalHolidays):
|
|
25
22
|
"""
|
|
26
23
|
References:
|
|
27
24
|
- https://administracion.gob.es/pag_Home/atencionCiudadana/calendarios.html # noqa: E501
|
holidays/countries/sweden.py
CHANGED
|
@@ -127,9 +127,7 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
127
127
|
# Optionally add all Sundays of the year.
|
|
128
128
|
begin = _get_nth_weekday_from(1, SUN, date(year, JAN, 1))
|
|
129
129
|
end = date(year, DEC, 31)
|
|
130
|
-
for dt in (
|
|
131
|
-
begin + td(days=n) for n in range(0, (end - begin).days + 1, 7)
|
|
132
|
-
):
|
|
130
|
+
for dt in (begin + td(days=n) for n in range(0, (end - begin).days + 1, 7)):
|
|
133
131
|
# Sunday.
|
|
134
132
|
self._add_holiday(tr("Söndag"), dt)
|
|
135
133
|
|
holidays/countries/taiwan.py
CHANGED
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
from holidays.constants import FEB, APR, OCT
|
|
13
13
|
from holidays.holiday_base import HolidayBase
|
|
14
|
-
from holidays.holiday_groups import ChineseCalendarHolidays
|
|
15
|
-
from holidays.holiday_groups import InternationalHolidays
|
|
14
|
+
from holidays.holiday_groups import ChineseCalendarHolidays, InternationalHolidays
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
class Taiwan(HolidayBase, ChineseCalendarHolidays, InternationalHolidays):
|
|
@@ -33,9 +32,7 @@ class Taiwan(HolidayBase, ChineseCalendarHolidays, InternationalHolidays):
|
|
|
33
32
|
super()._populate(year)
|
|
34
33
|
|
|
35
34
|
# New Year's Day
|
|
36
|
-
self._add_new_years_day(
|
|
37
|
-
"Founding of the Republic of China (New Year's Day)"
|
|
38
|
-
)
|
|
35
|
+
self._add_new_years_day("Founding of the Republic of China (New Year's Day)")
|
|
39
36
|
|
|
40
37
|
self._add_chinese_new_years_eve("Chinese New Year's Eve")
|
|
41
38
|
|