holidays 0.54__py3-none-any.whl → 0.56__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/countries/__init__.py +3 -0
- holidays/countries/algeria.py +11 -0
- holidays/countries/australia.py +1 -1
- holidays/countries/austria.py +10 -10
- holidays/countries/bangladesh.py +2 -0
- holidays/countries/bosnia_and_herzegovina.py +8 -12
- holidays/countries/brunei.py +23 -1
- holidays/countries/cambodia.py +20 -3
- holidays/countries/canada.py +6 -6
- holidays/countries/croatia.py +1 -1
- holidays/countries/cyprus.py +1 -1
- holidays/countries/dominica.py +130 -0
- holidays/countries/dominican_republic.py +7 -12
- holidays/countries/egypt.py +2 -0
- holidays/countries/haiti.py +134 -0
- holidays/countries/hongkong.py +1 -1
- holidays/countries/hungary.py +6 -0
- holidays/countries/ireland.py +6 -6
- holidays/countries/isle_of_man.py +1 -0
- holidays/countries/israel.py +2 -1
- holidays/countries/italy.py +113 -5
- holidays/countries/jordan.py +5 -0
- holidays/countries/kuwait.py +5 -0
- holidays/countries/laos.py +24 -62
- holidays/countries/liechtenstein.py +1 -1
- holidays/countries/luxembourg.py +1 -1
- holidays/countries/malaysia.py +16 -38
- holidays/countries/malta.py +3 -3
- holidays/countries/new_zealand.py +68 -43
- holidays/countries/philippines.py +215 -26
- holidays/countries/portugal.py +7 -7
- holidays/countries/russia.py +382 -3
- holidays/countries/samoa.py +72 -0
- holidays/countries/singapore.py +8 -0
- holidays/countries/slovakia.py +1 -1
- holidays/countries/spain.py +8 -8
- holidays/countries/switzerland.py +3 -3
- holidays/countries/ukraine.py +48 -43
- holidays/countries/united_kingdom.py +12 -22
- holidays/countries/united_states.py +2 -2
- holidays/groups/christian.py +19 -0
- holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/CA.po +6 -6
- holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/UA.po +26 -19
- holidays/locale/de/LC_MESSAGES/AT.po +6 -6
- holidays/locale/de/LC_MESSAGES/CH.po +3 -3
- holidays/locale/de/LC_MESSAGES/LI.po +1 -1
- holidays/locale/de/LC_MESSAGES/LU.po +1 -1
- holidays/locale/en_CA/LC_MESSAGES/CA.po +6 -6
- holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AT.po +14 -14
- holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BG.po +3 -3
- holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CA.po +11 -11
- holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CH.po +9 -8
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.po +16 -16
- holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HR.po +4 -4
- holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HT.po +127 -0
- holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LI.po +4 -4
- holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LU.po +4 -4
- holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MT.po +8 -8
- holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PT.po +16 -16
- holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SK.po +4 -4
- holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UA.po +25 -19
- holidays/locale/es/LC_MESSAGES/ES.po +7 -7
- holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/es/LC_MESSAGES/HT.po +127 -0
- holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CA.po +6 -6
- holidays/locale/fr/LC_MESSAGES/CH.po +3 -3
- holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/LU.po +2 -2
- holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/fr_HT/LC_MESSAGES/HT.po +127 -0
- holidays/locale/hr/LC_MESSAGES/HR.po +1 -1
- holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/ht/LC_MESSAGES/HT.po +127 -0
- holidays/locale/it/LC_MESSAGES/CH.po +3 -3
- holidays/locale/lb/LC_MESSAGES/LU.po +1 -1
- holidays/locale/mt/LC_MESSAGES/MT.po +3 -3
- holidays/locale/pt_PT/LC_MESSAGES/PT.po +7 -7
- holidays/locale/sk/LC_MESSAGES/SK.po +1 -1
- holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CA.po +6 -6
- holidays/locale/uk/LC_MESSAGES/AT.po +6 -6
- holidays/locale/uk/LC_MESSAGES/CH.po +3 -3
- holidays/locale/uk/LC_MESSAGES/ES.po +7 -7
- holidays/locale/uk/LC_MESSAGES/HR.po +1 -1
- holidays/locale/uk/LC_MESSAGES/LI.po +1 -1
- holidays/locale/uk/LC_MESSAGES/LU.po +1 -1
- holidays/locale/uk/LC_MESSAGES/PT.po +7 -7
- holidays/locale/uk/LC_MESSAGES/SK.po +1 -1
- holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UA.po +24 -18
- holidays/registry.py +3 -0
- holidays/utils.py +3 -3
- {holidays-0.54.dist-info → holidays-0.56.dist-info}/METADATA +24 -9
- {holidays-0.54.dist-info → holidays-0.56.dist-info}/RECORD +115 -104
- {holidays-0.54.dist-info → holidays-0.56.dist-info}/WHEEL +1 -1
- {holidays-0.54.dist-info → holidays-0.56.dist-info}/AUTHORS +0 -0
- {holidays-0.54.dist-info → holidays-0.56.dist-info}/LICENSE +0 -0
- {holidays-0.54.dist-info → holidays-0.56.dist-info}/top_level.txt +0 -0
holidays/countries/malta.py
CHANGED
|
@@ -62,7 +62,7 @@ class Malta(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
62
62
|
# Started in 1987 via Act LX of 1987.
|
|
63
63
|
|
|
64
64
|
if self._year >= 1987:
|
|
65
|
-
# Feast of
|
|
65
|
+
# Feast of Saint Paul's Shipwreck.
|
|
66
66
|
self._add_holiday_feb_10(tr("Il-Festa tan-Nawfraġju ta' San Pawl"))
|
|
67
67
|
|
|
68
68
|
# Il-Festa ta' San Ġużepp
|
|
@@ -70,7 +70,7 @@ class Malta(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
70
70
|
# Started in 1987 via Act LX of 1987.
|
|
71
71
|
|
|
72
72
|
if self._year >= 1987:
|
|
73
|
-
# Feast of
|
|
73
|
+
# Feast of Saint Joseph.
|
|
74
74
|
self._add_saint_josephs_day(tr("Il-Festa ta' San Ġużepp"))
|
|
75
75
|
|
|
76
76
|
# Jum il-Ħelsien
|
|
@@ -107,7 +107,7 @@ class Malta(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
107
107
|
# Started in 1987 via Act LX of 1987.
|
|
108
108
|
|
|
109
109
|
if self._year >= 1987:
|
|
110
|
-
# Feast of
|
|
110
|
+
# Feast of Saint Peter and Saint Paul.
|
|
111
111
|
self._add_saints_peter_and_paul_day(tr("Il-Festa ta' San Pietru u San Pawl"))
|
|
112
112
|
|
|
113
113
|
# Il-Festa ta' Santa Marija
|
|
@@ -27,6 +27,7 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
27
27
|
country = "NZ"
|
|
28
28
|
observed_label = "%s (observed)"
|
|
29
29
|
subdivisions = (
|
|
30
|
+
# ISO 3166-2: Regions and Special Island Authorities.
|
|
30
31
|
# https://en.wikipedia.org/wiki/ISO_3166-2:NZ
|
|
31
32
|
"AUK", # Auckland / Tāmaki-makaurau
|
|
32
33
|
"BOP", # Bay of Plenty / Toi Moana
|
|
@@ -35,7 +36,7 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
35
36
|
"GIS", # Gisborne / Te Tairāwhiti
|
|
36
37
|
"HKB", # Hawke's Bay / Te Matau a Māui
|
|
37
38
|
"MBH", # Marlborough
|
|
38
|
-
"MWT", # Manawatū Whanganui
|
|
39
|
+
"MWT", # Manawatū-Whanganui / Manawatū Whanganui
|
|
39
40
|
"NSN", # Nelson / Whakatū
|
|
40
41
|
"NTL", # Northland / Te Tai tokerau
|
|
41
42
|
"OTA", # Otago / Ō Tākou
|
|
@@ -45,27 +46,71 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
45
46
|
"WGN", # Greater Wellington / Te Pane Matua Taiao
|
|
46
47
|
"WKO", # Waikato
|
|
47
48
|
"WTC", # West Coast / Te Tai o Poutini
|
|
49
|
+
# Subregions:
|
|
50
|
+
# https://www.govt.nz/browse/work/public-holidays-and-work/public-holidays-and-anniversary-dates/
|
|
51
|
+
"South Canterbury",
|
|
48
52
|
)
|
|
49
|
-
|
|
53
|
+
subdivisions_aliases = {
|
|
54
|
+
# Fullnames in English and Maori, as well as HASC.
|
|
55
|
+
"Auckland": "AUK",
|
|
56
|
+
"Tāmaki-Makaurau": "AUK",
|
|
57
|
+
"AU": "AUK",
|
|
58
|
+
"Bay of Plenty": "BOP",
|
|
59
|
+
"Toi Moana": "BOP",
|
|
60
|
+
"BP": "BOP",
|
|
61
|
+
"Canterbury": "CAN",
|
|
62
|
+
"Waitaha": "CAN",
|
|
63
|
+
"CA": "CAN",
|
|
64
|
+
"Chatham Islands Territory": "CIT",
|
|
65
|
+
"Chatham Islands": "CIT", # 1901-1994, as County
|
|
66
|
+
"Wharekauri": "CIT",
|
|
67
|
+
"CI": "CIT",
|
|
68
|
+
"Gisborne": "GIS",
|
|
69
|
+
"Te Tairāwhiti": "GIS",
|
|
70
|
+
"GI": "GIS",
|
|
71
|
+
"Hawke's Bay": "HKB",
|
|
72
|
+
"Te Matau-a-Māui": "HKB",
|
|
73
|
+
"HB": "HKB",
|
|
74
|
+
"Marlborough": "MBH",
|
|
75
|
+
"MA": "MBH",
|
|
76
|
+
"Manawatū Whanganui": "MWT",
|
|
77
|
+
"Manawatū-Whanganui": "MWT",
|
|
78
|
+
"MW": "MWT",
|
|
79
|
+
"Nelson": "NSN",
|
|
80
|
+
"Whakatū": "NSN",
|
|
81
|
+
"NE": "NSN",
|
|
82
|
+
"Northland": "NTL",
|
|
83
|
+
"Te Taitokerau": "NTL",
|
|
84
|
+
"NO": "NTL",
|
|
85
|
+
"Otago": "OTA",
|
|
86
|
+
"Ō Tākou": "OTA",
|
|
87
|
+
"OT": "OTA",
|
|
88
|
+
"Southland": "STL",
|
|
89
|
+
"Te Taiao Tonga": "STL",
|
|
90
|
+
"SO": "STL",
|
|
91
|
+
"Tasman": "TAS",
|
|
92
|
+
"Te tai o Aorere": "TAS",
|
|
93
|
+
"TS": "TAS",
|
|
94
|
+
"Taranaki": "TKI",
|
|
95
|
+
"TK": "TKI",
|
|
96
|
+
"Greater Wellington": "WGN",
|
|
97
|
+
"Te Pane Matua Taiao": "WGN",
|
|
98
|
+
"Wellington": "WGN", # Prev. ISO code from 2010-2015.
|
|
99
|
+
"Te Whanganui-a-Tara": "WGN", # Prev. ISO code from 2010-2015.
|
|
100
|
+
"WG": "WGN",
|
|
101
|
+
"Waikato": "WKO",
|
|
102
|
+
"WK": "WKO",
|
|
103
|
+
"West Coast": "WTC",
|
|
104
|
+
"Te Tai o Poutini": "WTC",
|
|
105
|
+
"WC": "WTC",
|
|
106
|
+
}
|
|
50
107
|
_deprecated_subdivisions = (
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"New Plymouth",
|
|
58
|
-
"Northland",
|
|
59
|
-
"Otago",
|
|
60
|
-
"South Canterbury",
|
|
61
|
-
"STC",
|
|
62
|
-
"Southland",
|
|
63
|
-
"Taranaki",
|
|
64
|
-
"Waitangi",
|
|
65
|
-
"Wellington",
|
|
66
|
-
"West Coast",
|
|
67
|
-
"Westland", # Correct name is West Coast
|
|
68
|
-
"WTL", # Correct code is WTC
|
|
108
|
+
# Pre-1893 Naming in Previous Implementations.
|
|
109
|
+
"New Plymouth", # 1853-1859, Now Taranaki.
|
|
110
|
+
"Westland", # 1873-1876, Now West Coast.
|
|
111
|
+
# Unofficial Code.
|
|
112
|
+
"STC", # For 'South Canterbury' Subregional Holidays.
|
|
113
|
+
"WTL", # Westland, Correct code is WTC (for West Coast).
|
|
69
114
|
)
|
|
70
115
|
|
|
71
116
|
def __init__(self, *args, **kwargs):
|
|
@@ -186,31 +231,11 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
186
231
|
# Boxing Day
|
|
187
232
|
self._add_observed(self._add_christmas_day_two("Boxing Day"), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
188
233
|
|
|
189
|
-
if self.subdiv == "
|
|
190
|
-
self._populate_subdiv_auk_public_holidays()
|
|
191
|
-
elif self.subdiv == "Canterbury":
|
|
192
|
-
self._populate_subdiv_can_public_holidays()
|
|
193
|
-
elif self.subdiv == "Chatham Islands":
|
|
194
|
-
self._populate_subdiv_cit_public_holidays()
|
|
195
|
-
elif self.subdiv == "Hawke's Bay":
|
|
196
|
-
self._populate_subdiv_hkb_public_holidays()
|
|
197
|
-
elif self.subdiv == "Marlborough":
|
|
198
|
-
self._populate_subdiv_mbh_public_holidays()
|
|
199
|
-
elif self.subdiv == "Nelson":
|
|
200
|
-
self._populate_subdiv_nsn_public_holidays()
|
|
201
|
-
elif self.subdiv == "Northland":
|
|
202
|
-
self._populate_subdiv_ntl_public_holidays()
|
|
203
|
-
elif self.subdiv == "Otago":
|
|
204
|
-
self._populate_subdiv_ota_public_holidays()
|
|
205
|
-
elif self.subdiv in {"New Plymouth", "Taranaki"}:
|
|
234
|
+
if self.subdiv == "New Plymouth":
|
|
206
235
|
self._populate_subdiv_tki_public_holidays()
|
|
207
236
|
elif self.subdiv == "South Canterbury":
|
|
208
237
|
self._populate_subdiv_stc_public_holidays()
|
|
209
|
-
elif self.subdiv
|
|
210
|
-
self._populate_subdiv_stl_public_holidays()
|
|
211
|
-
elif self.subdiv == "Wellington":
|
|
212
|
-
self._populate_subdiv_wgn_public_holidays()
|
|
213
|
-
elif self.subdiv in {"West Coast", "WTL", "Westland"}:
|
|
238
|
+
elif self.subdiv in {"WTL", "Westland"}:
|
|
214
239
|
self._populate_subdiv_wtc_public_holidays()
|
|
215
240
|
|
|
216
241
|
def _populate_subdiv_auk_public_holidays(self):
|
|
@@ -253,7 +278,7 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
253
278
|
def _populate_subdiv_stl_public_holidays(self):
|
|
254
279
|
name = "Southland Anniversary Day"
|
|
255
280
|
if self._year >= 2012:
|
|
256
|
-
self.
|
|
281
|
+
self._add_easter_tuesday(name)
|
|
257
282
|
else:
|
|
258
283
|
self._add_holiday(name, self._get_nearest_monday(JAN, 17))
|
|
259
284
|
|
|
@@ -10,89 +10,146 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/python-holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from holidays.calendars import _CustomChineseHolidays, _CustomIslamicHolidays
|
|
14
|
+
from holidays.calendars.gregorian import JAN, FEB, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
13
15
|
from holidays.groups import (
|
|
14
16
|
ChineseCalendarHolidays,
|
|
15
17
|
ChristianHolidays,
|
|
16
18
|
InternationalHolidays,
|
|
17
19
|
IslamicHolidays,
|
|
20
|
+
StaticHolidays,
|
|
18
21
|
)
|
|
19
22
|
from holidays.holiday_base import HolidayBase
|
|
20
23
|
|
|
21
24
|
|
|
22
25
|
class Philippines(
|
|
23
|
-
HolidayBase,
|
|
26
|
+
HolidayBase,
|
|
27
|
+
ChineseCalendarHolidays,
|
|
28
|
+
ChristianHolidays,
|
|
29
|
+
InternationalHolidays,
|
|
30
|
+
IslamicHolidays,
|
|
31
|
+
StaticHolidays,
|
|
24
32
|
):
|
|
25
33
|
"""
|
|
26
34
|
Philippines holidays.
|
|
27
35
|
|
|
28
36
|
References:
|
|
29
37
|
- https://en.wikipedia.org/wiki/Public_holidays_in_the_Philippines
|
|
38
|
+
- `Revised Administrative Code of 1987 <https://www.officialgazette.gov.ph/1987/07/25/executive-order-no-292-book-ichapter-7-regular-holidays-and-nationwide-special-days/>`_
|
|
39
|
+
- `Republic Act No. 9177 <https://www.officialgazette.gov.ph/2002/11/13/republic-act-no-9177/>`_
|
|
40
|
+
- `Republic Act No. 9492 <https://www.officialgazette.gov.ph/2007/07/24/republic-act-no-9492/>`_
|
|
41
|
+
- `Republic Act No. 9849 <https://www.officialgazette.gov.ph/2009/12/11/republic-act-no-9849/>`_
|
|
42
|
+
- `Republic Act No. 10966 <https://www.officialgazette.gov.ph/2017/12/28/republic-act-no-10966/>`_
|
|
43
|
+
- `Nationwide holidays 2018-2024 <https://www.officialgazette.gov.ph/nationwide-holidays/2018/>`_
|
|
30
44
|
"""
|
|
31
45
|
|
|
32
46
|
country = "PH"
|
|
33
47
|
|
|
34
48
|
def __init__(self, *args, **kwargs):
|
|
35
|
-
ChineseCalendarHolidays.__init__(self)
|
|
49
|
+
ChineseCalendarHolidays.__init__(self, cls=PhilippinesChineseHolidays)
|
|
36
50
|
ChristianHolidays.__init__(self)
|
|
37
51
|
InternationalHolidays.__init__(self)
|
|
38
|
-
IslamicHolidays.__init__(self)
|
|
52
|
+
IslamicHolidays.__init__(self, cls=PhilippinesIslamicHolidays)
|
|
53
|
+
StaticHolidays.__init__(self, cls=PhilippinesStaticHolidays)
|
|
39
54
|
super().__init__(*args, **kwargs)
|
|
40
55
|
|
|
41
56
|
def _populate_public_holidays(self):
|
|
57
|
+
if self._year <= 1987:
|
|
58
|
+
return None
|
|
59
|
+
|
|
42
60
|
# New Year's Day.
|
|
43
61
|
self._add_new_years_day("New Year's Day")
|
|
44
62
|
|
|
45
63
|
# Chinese New Year.
|
|
46
|
-
self.
|
|
47
|
-
|
|
48
|
-
# People Power Anniversary.
|
|
49
|
-
self._add_holiday_feb_25("EDSA Revolution Anniversary")
|
|
64
|
+
if self._year >= 2012 and self._year != 2023:
|
|
65
|
+
self._add_chinese_new_years_day("Chinese New Year")
|
|
50
66
|
|
|
51
|
-
#
|
|
52
|
-
self.
|
|
67
|
+
# EDSA People Power Revolution Anniversary.
|
|
68
|
+
if self._year >= 2016 and self._year not in {2017, 2024}:
|
|
69
|
+
dates_obs = {
|
|
70
|
+
2023: (FEB, 24),
|
|
71
|
+
}
|
|
72
|
+
self._add_holiday(
|
|
73
|
+
"EDSA People Power Revolution Anniversary", dates_obs.get(self._year, (FEB, 25))
|
|
74
|
+
)
|
|
53
75
|
|
|
54
76
|
# Maundy Thursday.
|
|
55
77
|
self._add_holy_thursday("Maundy Thursday")
|
|
78
|
+
|
|
56
79
|
# Good Friday.
|
|
57
80
|
self._add_good_friday("Good Friday")
|
|
81
|
+
|
|
58
82
|
# Black Saturday.
|
|
59
|
-
self.
|
|
83
|
+
if self._year >= 2013:
|
|
84
|
+
self._add_holy_saturday("Black Saturday")
|
|
60
85
|
|
|
61
|
-
#
|
|
62
|
-
|
|
86
|
+
# Day of Valor.
|
|
87
|
+
dates_obs = {
|
|
88
|
+
2008: (APR, 7),
|
|
89
|
+
2009: (APR, 6),
|
|
90
|
+
}
|
|
91
|
+
self._add_holiday("Araw ng Kagitingan (Day of Valor)", dates_obs.get(self._year, (APR, 9)))
|
|
63
92
|
|
|
64
|
-
#
|
|
65
|
-
self.
|
|
93
|
+
# Labor Day.
|
|
94
|
+
self._add_labor_day("Labor Day")
|
|
66
95
|
|
|
67
96
|
# Independence Day.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
97
|
+
dates_obs = {
|
|
98
|
+
2007: (JUN, 11),
|
|
99
|
+
2008: (JUN, 9),
|
|
100
|
+
2010: (JUN, 14),
|
|
101
|
+
}
|
|
102
|
+
self._add_holiday("Independence Day", dates_obs.get(self._year, (JUN, 12)))
|
|
72
103
|
|
|
73
104
|
# Ninoy Aquino Day.
|
|
74
|
-
|
|
105
|
+
dates_obs = {
|
|
106
|
+
2007: (AUG, 20),
|
|
107
|
+
2008: (AUG, 18),
|
|
108
|
+
2010: (AUG, 23),
|
|
109
|
+
}
|
|
110
|
+
self._add_holiday("Ninoy Aquino Day", dates_obs.get(self._year, (AUG, 21)))
|
|
75
111
|
|
|
76
112
|
# National Heroes Day.
|
|
77
|
-
|
|
113
|
+
name = "National Heroes Day"
|
|
114
|
+
if self._year >= 2007:
|
|
115
|
+
self._add_holiday_last_mon_of_aug(name)
|
|
116
|
+
else:
|
|
117
|
+
self._add_holiday_last_sun_of_aug(name)
|
|
78
118
|
|
|
79
119
|
# All Saints' Day.
|
|
80
120
|
self._add_all_saints_day("All Saints' Day")
|
|
81
121
|
|
|
82
122
|
# Bonifacio Day.
|
|
83
|
-
|
|
123
|
+
dates_obs = {
|
|
124
|
+
2008: (DEC, 1),
|
|
125
|
+
2010: (NOV, 29),
|
|
126
|
+
}
|
|
127
|
+
self._add_holiday("Bonifacio Day", dates_obs.get(self._year, (NOV, 30)))
|
|
84
128
|
|
|
85
|
-
# Immaculate Conception
|
|
86
|
-
self.
|
|
129
|
+
# Immaculate Conception.
|
|
130
|
+
if self._year >= 2019:
|
|
131
|
+
self._add_immaculate_conception_day("Feast of the Immaculate Conception of Mary")
|
|
87
132
|
|
|
88
133
|
# Christmas Day.
|
|
89
134
|
self._add_christmas_day("Christmas Day")
|
|
90
135
|
|
|
91
136
|
# Rizal Day.
|
|
92
|
-
|
|
137
|
+
dates_obs = {
|
|
138
|
+
2010: (DEC, 27),
|
|
139
|
+
}
|
|
140
|
+
self._add_holiday("Rizal Day", dates_obs.get(self._year, (DEC, 30)))
|
|
93
141
|
|
|
94
|
-
#
|
|
95
|
-
self.
|
|
142
|
+
# Last Day of the Year.
|
|
143
|
+
if self._year not in {2021, 2022}:
|
|
144
|
+
self._add_new_years_eve("Last Day of the Year")
|
|
145
|
+
|
|
146
|
+
# Eid al-Fitr.
|
|
147
|
+
if self._year >= 2002:
|
|
148
|
+
self._add_eid_al_fitr_day("Eid'l Fitr (Feast of Ramadhan)")
|
|
149
|
+
|
|
150
|
+
# Eid al-Adha.
|
|
151
|
+
if self._year >= 2010:
|
|
152
|
+
self._add_eid_al_adha_day("Eid'l Adha (Feast of Sacrifice)")
|
|
96
153
|
|
|
97
154
|
|
|
98
155
|
class PH(Philippines):
|
|
@@ -101,3 +158,135 @@ class PH(Philippines):
|
|
|
101
158
|
|
|
102
159
|
class PHL(Philippines):
|
|
103
160
|
pass
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
class PhilippinesChineseHolidays(_CustomChineseHolidays):
|
|
164
|
+
LUNAR_NEW_YEAR_DATES = {
|
|
165
|
+
2012: (JAN, 23),
|
|
166
|
+
2013: (FEB, 10),
|
|
167
|
+
2014: (JAN, 31),
|
|
168
|
+
2015: (FEB, 19),
|
|
169
|
+
2016: (FEB, 8),
|
|
170
|
+
2017: (JAN, 28),
|
|
171
|
+
2018: (FEB, 16),
|
|
172
|
+
2019: (FEB, 5),
|
|
173
|
+
2020: (JAN, 25),
|
|
174
|
+
2021: (FEB, 12),
|
|
175
|
+
2022: (FEB, 1),
|
|
176
|
+
2023: (JAN, 22),
|
|
177
|
+
2024: (FEB, 10),
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class PhilippinesIslamicHolidays(_CustomIslamicHolidays):
|
|
182
|
+
EID_AL_ADHA_DATES = {
|
|
183
|
+
2010: (NOV, 17),
|
|
184
|
+
2011: (NOV, 7),
|
|
185
|
+
2012: (OCT, 26),
|
|
186
|
+
2013: (OCT, 15),
|
|
187
|
+
2014: (OCT, 6),
|
|
188
|
+
2015: (SEP, 25),
|
|
189
|
+
2016: (SEP, 10),
|
|
190
|
+
2017: (SEP, 2),
|
|
191
|
+
2018: (AUG, 21),
|
|
192
|
+
2019: (AUG, 12),
|
|
193
|
+
2020: (JUL, 31),
|
|
194
|
+
2021: (JUL, 20),
|
|
195
|
+
2022: (JUL, 9),
|
|
196
|
+
2023: (JUN, 28),
|
|
197
|
+
2024: (JUN, 17),
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
EID_AL_FITR_DATES = {
|
|
201
|
+
2002: (DEC, 6),
|
|
202
|
+
2003: (NOV, 26),
|
|
203
|
+
2004: (NOV, 14),
|
|
204
|
+
2005: (NOV, 4),
|
|
205
|
+
2006: (OCT, 24),
|
|
206
|
+
2007: (OCT, 12),
|
|
207
|
+
2008: (OCT, 1),
|
|
208
|
+
2009: (SEP, 21),
|
|
209
|
+
2010: (SEP, 10),
|
|
210
|
+
2011: (AUG, 30),
|
|
211
|
+
2012: (AUG, 20),
|
|
212
|
+
2013: (AUG, 9),
|
|
213
|
+
2014: (JUL, 29),
|
|
214
|
+
2015: (JUL, 17),
|
|
215
|
+
2016: (JUL, 7),
|
|
216
|
+
2017: (JUN, 26),
|
|
217
|
+
2018: (JUN, 15),
|
|
218
|
+
2019: (JUN, 5),
|
|
219
|
+
2020: (MAY, 25),
|
|
220
|
+
2021: (MAY, 13),
|
|
221
|
+
2022: (MAY, 3),
|
|
222
|
+
2023: (APR, 21),
|
|
223
|
+
2024: (APR, 10),
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
class PhilippinesStaticHolidays:
|
|
228
|
+
additional_special = "Additional special (non-working) day"
|
|
229
|
+
election_special = "Elections special (non-working) day"
|
|
230
|
+
|
|
231
|
+
special_public_holidays = {
|
|
232
|
+
2008: (
|
|
233
|
+
(DEC, 26, additional_special),
|
|
234
|
+
(DEC, 29, additional_special),
|
|
235
|
+
),
|
|
236
|
+
2009: (
|
|
237
|
+
(NOV, 2, additional_special),
|
|
238
|
+
(DEC, 24, additional_special),
|
|
239
|
+
),
|
|
240
|
+
2010: ((DEC, 24, additional_special),),
|
|
241
|
+
2012: ((NOV, 2, additional_special),),
|
|
242
|
+
2013: (
|
|
243
|
+
(NOV, 2, additional_special),
|
|
244
|
+
(DEC, 24, additional_special),
|
|
245
|
+
),
|
|
246
|
+
2014: (
|
|
247
|
+
(DEC, 24, additional_special),
|
|
248
|
+
(DEC, 26, additional_special),
|
|
249
|
+
),
|
|
250
|
+
2015: (
|
|
251
|
+
(JAN, 2, additional_special),
|
|
252
|
+
(DEC, 24, additional_special),
|
|
253
|
+
),
|
|
254
|
+
2016: (
|
|
255
|
+
(JAN, 2, additional_special),
|
|
256
|
+
(OCT, 31, additional_special),
|
|
257
|
+
(DEC, 24, additional_special),
|
|
258
|
+
),
|
|
259
|
+
2017: (
|
|
260
|
+
(JAN, 2, additional_special),
|
|
261
|
+
(OCT, 31, additional_special),
|
|
262
|
+
),
|
|
263
|
+
2018: (
|
|
264
|
+
(MAY, 14, election_special),
|
|
265
|
+
(NOV, 2, additional_special),
|
|
266
|
+
(DEC, 24, additional_special),
|
|
267
|
+
),
|
|
268
|
+
2019: (
|
|
269
|
+
(MAY, 13, election_special),
|
|
270
|
+
(NOV, 2, additional_special),
|
|
271
|
+
(DEC, 24, additional_special),
|
|
272
|
+
),
|
|
273
|
+
2020: (
|
|
274
|
+
(NOV, 2, additional_special),
|
|
275
|
+
(DEC, 24, additional_special),
|
|
276
|
+
),
|
|
277
|
+
2022: (
|
|
278
|
+
(MAY, 9, election_special),
|
|
279
|
+
(OCT, 31, additional_special),
|
|
280
|
+
),
|
|
281
|
+
2023: (
|
|
282
|
+
(JAN, 2, additional_special),
|
|
283
|
+
(OCT, 30, election_special),
|
|
284
|
+
(NOV, 2, additional_special),
|
|
285
|
+
(DEC, 26, additional_special),
|
|
286
|
+
),
|
|
287
|
+
2024: (
|
|
288
|
+
(FEB, 9, additional_special),
|
|
289
|
+
(NOV, 2, additional_special),
|
|
290
|
+
(DEC, 24, additional_special),
|
|
291
|
+
),
|
|
292
|
+
}
|
holidays/countries/portugal.py
CHANGED
|
@@ -147,7 +147,7 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
147
147
|
# Carnival.
|
|
148
148
|
self._add_carnival_tuesday(tr("Carnaval"))
|
|
149
149
|
|
|
150
|
-
#
|
|
150
|
+
# Saint Anthony's Day.
|
|
151
151
|
self._add_holiday_jun_13(tr("Dia de Santo António"))
|
|
152
152
|
|
|
153
153
|
# Christmas Eve.
|
|
@@ -167,7 +167,7 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
167
167
|
self._populate_optional_holidays()
|
|
168
168
|
|
|
169
169
|
def _populate_subdiv_01_public_holidays(self):
|
|
170
|
-
#
|
|
170
|
+
# Saint Joanna's Day.
|
|
171
171
|
self._add_holiday_may_12(tr("Dia de Santa Joana"))
|
|
172
172
|
|
|
173
173
|
def _populate_subdiv_02_public_holidays(self):
|
|
@@ -175,7 +175,7 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
175
175
|
self._add_ascension_thursday(tr("Quinta-feira da Ascensão"))
|
|
176
176
|
|
|
177
177
|
def _populate_subdiv_03_public_holidays(self):
|
|
178
|
-
#
|
|
178
|
+
# Saint John's Day.
|
|
179
179
|
self._add_saint_johns_day(tr("Dia de São João"))
|
|
180
180
|
|
|
181
181
|
def _populate_subdiv_04_public_holidays(self):
|
|
@@ -187,11 +187,11 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
187
187
|
self._add_holiday_16_days_past_easter(tr("Dia de Nossa Senhora de Mércoles"))
|
|
188
188
|
|
|
189
189
|
def _populate_subdiv_06_public_holidays(self):
|
|
190
|
-
#
|
|
190
|
+
# Saint Elizabeth's Day.
|
|
191
191
|
self._add_holiday_jul_4(tr("Dia de Santa Isabel"))
|
|
192
192
|
|
|
193
193
|
def _populate_subdiv_07_public_holidays(self):
|
|
194
|
-
#
|
|
194
|
+
# Saint Peter's Day.
|
|
195
195
|
self._add_saints_peter_and_paul_day(tr("Dia de São Pedro"))
|
|
196
196
|
|
|
197
197
|
def _populate_subdiv_08_public_holidays(self):
|
|
@@ -217,7 +217,7 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
217
217
|
self._add_saint_johns_day(tr("Dia de São João"))
|
|
218
218
|
|
|
219
219
|
def _populate_subdiv_14_public_holidays(self):
|
|
220
|
-
#
|
|
220
|
+
# Saint Joseph's Day.
|
|
221
221
|
self._add_saint_josephs_day(tr("Dia de São José"))
|
|
222
222
|
|
|
223
223
|
def _populate_subdiv_15_public_holidays(self):
|
|
@@ -232,7 +232,7 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
232
232
|
self._add_holiday_jun_13(tr("Dia de Santo António"))
|
|
233
233
|
|
|
234
234
|
def _populate_subdiv_18_public_holidays(self):
|
|
235
|
-
#
|
|
235
|
+
# Saint Matthew's Day.
|
|
236
236
|
self._add_holiday_sep_21(tr("Dia de São Mateus"))
|
|
237
237
|
|
|
238
238
|
def _populate_subdiv_20_public_holidays(self):
|