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.
Files changed (256) hide show
  1. holidays/__init__.py +1 -1
  2. holidays/calendars/__init__.py +5 -7
  3. holidays/calendars/buddhist.py +1 -3
  4. holidays/calendars/chinese.py +1 -3
  5. holidays/calendars/custom.py +1 -3
  6. holidays/calendars/hindu.py +1 -3
  7. holidays/calendars/islamic.py +1341 -1345
  8. holidays/calendars/thai.py +217 -26
  9. holidays/countries/__init__.py +4 -0
  10. holidays/countries/albania.py +6 -17
  11. holidays/countries/andorra.py +2 -6
  12. holidays/countries/angola.py +53 -39
  13. holidays/countries/argentina.py +13 -24
  14. holidays/countries/aruba.py +109 -48
  15. holidays/countries/australia.py +31 -69
  16. holidays/countries/azerbaijan.py +30 -38
  17. holidays/countries/bahrain.py +5 -5
  18. holidays/countries/bangladesh.py +1 -3
  19. holidays/countries/belarus.py +1 -3
  20. holidays/countries/belize.py +4 -16
  21. holidays/countries/bolivia.py +2 -6
  22. holidays/countries/bosnia_and_herzegovina.py +5 -17
  23. holidays/countries/botswana.py +9 -18
  24. holidays/countries/brazil.py +2 -5
  25. holidays/countries/brunei.py +427 -0
  26. holidays/countries/bulgaria.py +2 -6
  27. holidays/countries/burkina_faso.py +141 -0
  28. holidays/countries/burundi.py +2 -5
  29. holidays/countries/cambodia.py +323 -0
  30. holidays/countries/cameroon.py +71 -77
  31. holidays/countries/canada.py +19 -28
  32. holidays/countries/chad.py +133 -0
  33. holidays/countries/chile.py +4 -11
  34. holidays/countries/china.py +1 -2
  35. holidays/countries/colombia.py +17 -15
  36. holidays/countries/costa_rica.py +2 -6
  37. holidays/countries/curacao.py +100 -46
  38. holidays/countries/cyprus.py +2 -6
  39. holidays/countries/czechia.py +4 -12
  40. holidays/countries/denmark.py +1 -3
  41. holidays/countries/dominican_republic.py +1 -3
  42. holidays/countries/ecuador.py +54 -54
  43. holidays/countries/egypt.py +2 -5
  44. holidays/countries/eswatini.py +34 -44
  45. holidays/countries/ethiopia.py +5 -14
  46. holidays/countries/finland.py +1 -3
  47. holidays/countries/gabon.py +49 -53
  48. holidays/countries/greece.py +1 -2
  49. holidays/countries/honduras.py +16 -13
  50. holidays/countries/hongkong.py +7 -8
  51. holidays/countries/hungary.py +93 -92
  52. holidays/countries/india.py +4 -11
  53. holidays/countries/indonesia.py +120 -114
  54. holidays/countries/ireland.py +5 -15
  55. holidays/countries/isle_of_man.py +9 -4
  56. holidays/countries/israel.py +6 -18
  57. holidays/countries/italy.py +1 -2
  58. holidays/countries/jamaica.py +10 -18
  59. holidays/countries/japan.py +10 -16
  60. holidays/countries/kazakhstan.py +7 -22
  61. holidays/countries/kenya.py +1 -3
  62. holidays/countries/kyrgyzstan.py +2 -5
  63. holidays/countries/latvia.py +2 -6
  64. holidays/countries/lesotho.py +52 -32
  65. holidays/countries/lithuania.py +4 -12
  66. holidays/countries/madagascar.py +3 -9
  67. holidays/countries/malawi.py +34 -26
  68. holidays/countries/malaysia.py +223 -248
  69. holidays/countries/marshall_islands.py +4 -9
  70. holidays/countries/mexico.py +1 -3
  71. holidays/countries/moldova.py +3 -6
  72. holidays/countries/monaco.py +16 -26
  73. holidays/countries/montenegro.py +23 -19
  74. holidays/countries/morocco.py +2 -5
  75. holidays/countries/mozambique.py +35 -31
  76. holidays/countries/namibia.py +54 -35
  77. holidays/countries/new_zealand.py +11 -21
  78. holidays/countries/nicaragua.py +26 -22
  79. holidays/countries/nigeria.py +6 -17
  80. holidays/countries/north_macedonia.py +3 -8
  81. holidays/countries/norway.py +1 -3
  82. holidays/countries/pakistan.py +71 -72
  83. holidays/countries/panama.py +25 -24
  84. holidays/countries/paraguay.py +54 -47
  85. holidays/countries/philippines.py +6 -2
  86. holidays/countries/poland.py +3 -9
  87. holidays/countries/portugal.py +3 -11
  88. holidays/countries/romania.py +3 -5
  89. holidays/countries/saudi_arabia.py +8 -22
  90. holidays/countries/serbia.py +19 -29
  91. holidays/countries/singapore.py +70 -74
  92. holidays/countries/slovakia.py +1 -4
  93. holidays/countries/south_africa.py +60 -62
  94. holidays/countries/south_korea.py +14 -23
  95. holidays/countries/spain.py +2 -5
  96. holidays/countries/sweden.py +1 -3
  97. holidays/countries/taiwan.py +2 -5
  98. holidays/countries/thailand.py +34 -81
  99. holidays/countries/turkey.py +1 -3
  100. holidays/countries/ukraine.py +6 -18
  101. holidays/countries/united_arab_emirates.py +21 -29
  102. holidays/countries/united_kingdom.py +47 -67
  103. holidays/countries/united_states.py +42 -72
  104. holidays/countries/vatican_city.py +1 -3
  105. holidays/countries/venezuela.py +8 -6
  106. holidays/countries/vietnam.py +6 -18
  107. holidays/countries/zambia.py +63 -33
  108. holidays/countries/zimbabwe.py +56 -37
  109. holidays/financial/european_central_bank.py +1 -3
  110. holidays/financial/ny_stock_exchange.py +31 -48
  111. holidays/groups/__init__.py +18 -0
  112. holidays/groups/buddhist.py +71 -0
  113. holidays/groups/chinese.py +235 -0
  114. holidays/groups/christian.py +483 -0
  115. holidays/groups/hindu.py +71 -0
  116. holidays/groups/international.py +157 -0
  117. holidays/groups/islamic.py +288 -0
  118. holidays/groups/thai.py +157 -0
  119. holidays/helpers.py +20 -0
  120. holidays/holiday_base.py +49 -75
  121. holidays/holiday_groups.py +11 -1190
  122. holidays/locale/am/LC_MESSAGES/ET.po +18 -15
  123. holidays/locale/ar/LC_MESSAGES/CA.po +43 -43
  124. holidays/locale/ar/LC_MESSAGES/ET.po +18 -15
  125. holidays/locale/ar/LC_MESSAGES/UA.po +16 -14
  126. holidays/locale/be/LC_MESSAGES/BY.po +9 -8
  127. holidays/locale/bg/LC_MESSAGES/BG.po +14 -12
  128. holidays/locale/da/LC_MESSAGES/DK.po +7 -6
  129. holidays/locale/el/LC_MESSAGES/CY.po +5 -3
  130. holidays/locale/el/LC_MESSAGES/GR.po +13 -13
  131. holidays/locale/en/LC_MESSAGES/CA.po +43 -43
  132. holidays/locale/en_US/LC_MESSAGES/AR.po +26 -25
  133. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  134. holidays/locale/en_US/LC_MESSAGES/AW.po +87 -0
  135. holidays/locale/en_US/LC_MESSAGES/BG.po +14 -12
  136. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  137. holidays/locale/en_US/LC_MESSAGES/BN.po +96 -0
  138. holidays/locale/en_US/LC_MESSAGES/BY.po +9 -8
  139. holidays/locale/en_US/LC_MESSAGES/CA.po +43 -43
  140. holidays/locale/en_US/LC_MESSAGES/CL.po +18 -18
  141. holidays/locale/en_US/LC_MESSAGES/CO.po +19 -19
  142. holidays/locale/en_US/LC_MESSAGES/CR.po +6 -5
  143. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  144. holidays/locale/en_US/LC_MESSAGES/CW.po +82 -0
  145. holidays/locale/en_US/LC_MESSAGES/CY.po +5 -3
  146. holidays/locale/en_US/LC_MESSAGES/DK.po +7 -6
  147. holidays/locale/en_US/LC_MESSAGES/DO.po +12 -12
  148. holidays/locale/en_US/LC_MESSAGES/EC.po +11 -12
  149. holidays/locale/en_US/LC_MESSAGES/ET.po +18 -15
  150. holidays/locale/en_US/LC_MESSAGES/FI.po +13 -13
  151. holidays/locale/en_US/LC_MESSAGES/GR.po +13 -13
  152. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  153. holidays/locale/en_US/LC_MESSAGES/HN.po +13 -13
  154. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/HU.po +109 -0
  156. holidays/locale/en_US/LC_MESSAGES/JP.po +19 -17
  157. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/KH.po +139 -0
  159. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/MC.po +16 -15
  161. holidays/locale/en_US/LC_MESSAGES/MD.po +5 -5
  162. holidays/locale/en_US/LC_MESSAGES/MX.po +3 -2
  163. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  164. holidays/locale/en_US/LC_MESSAGES/NI.po +13 -13
  165. holidays/locale/en_US/LC_MESSAGES/NO.po +1 -1
  166. holidays/locale/en_US/LC_MESSAGES/PL.po +23 -21
  167. holidays/locale/en_US/LC_MESSAGES/PT.po +31 -31
  168. holidays/locale/en_US/LC_MESSAGES/PY.po +13 -11
  169. holidays/locale/en_US/LC_MESSAGES/RO.po +4 -3
  170. holidays/locale/en_US/LC_MESSAGES/RS.po +10 -10
  171. holidays/locale/en_US/LC_MESSAGES/SE.po +1 -1
  172. holidays/locale/en_US/LC_MESSAGES/SK.po +14 -14
  173. holidays/locale/en_US/LC_MESSAGES/TH.po +41 -41
  174. holidays/locale/en_US/LC_MESSAGES/UA.po +16 -14
  175. holidays/locale/en_US/LC_MESSAGES/VE.po +6 -6
  176. holidays/locale/es/LC_MESSAGES/AR.po +26 -25
  177. holidays/locale/es/LC_MESSAGES/CL.po +18 -18
  178. holidays/locale/es/LC_MESSAGES/CO.po +19 -19
  179. holidays/locale/es/LC_MESSAGES/CR.po +6 -5
  180. holidays/locale/es/LC_MESSAGES/DO.po +12 -12
  181. holidays/locale/es/LC_MESSAGES/EC.po +11 -12
  182. holidays/locale/es/LC_MESSAGES/HN.po +12 -12
  183. holidays/locale/es/LC_MESSAGES/MX.po +3 -2
  184. holidays/locale/es/LC_MESSAGES/NI.po +10 -10
  185. holidays/locale/es/LC_MESSAGES/PY.po +13 -11
  186. holidays/locale/es/LC_MESSAGES/VE.po +6 -6
  187. holidays/locale/fi/LC_MESSAGES/FI.po +13 -13
  188. holidays/locale/fr/LC_MESSAGES/CA.po +43 -43
  189. holidays/locale/fr/LC_MESSAGES/MC.po +15 -14
  190. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  191. holidays/locale/hu/LC_MESSAGES/HU.po +109 -0
  192. holidays/locale/ja/LC_MESSAGES/JP.po +19 -17
  193. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  194. holidays/locale/km/LC_MESSAGES/KH.po +139 -0
  195. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  196. holidays/locale/ms/LC_MESSAGES/BN.po +96 -0
  197. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  198. holidays/locale/nl/LC_MESSAGES/AW.po +87 -0
  199. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  200. holidays/locale/nl/LC_MESSAGES/CW.po +82 -0
  201. holidays/locale/no/LC_MESSAGES/NO.po +1 -1
  202. holidays/locale/pap/LC_MESSAGES/AW.mo +0 -0
  203. holidays/locale/pap/LC_MESSAGES/AW.po +87 -0
  204. holidays/locale/pap/LC_MESSAGES/CW.mo +0 -0
  205. holidays/locale/pap/LC_MESSAGES/CW.po +82 -0
  206. holidays/locale/pl/LC_MESSAGES/PL.po +23 -21
  207. holidays/locale/pt_PT/LC_MESSAGES/PT.po +31 -31
  208. holidays/locale/ro/LC_MESSAGES/MD.po +5 -5
  209. holidays/locale/ro/LC_MESSAGES/RO.po +4 -3
  210. holidays/locale/sk/LC_MESSAGES/SK.po +14 -14
  211. holidays/locale/sr/LC_MESSAGES/RS.po +10 -10
  212. holidays/locale/sv/LC_MESSAGES/FI.po +13 -13
  213. holidays/locale/sv/LC_MESSAGES/SE.po +1 -1
  214. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  215. holidays/locale/th/LC_MESSAGES/BN.po +96 -0
  216. holidays/locale/th/LC_MESSAGES/CA.po +43 -43
  217. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  218. holidays/locale/th/LC_MESSAGES/KH.po +145 -0
  219. holidays/locale/th/LC_MESSAGES/TH.po +41 -41
  220. holidays/locale/uk/LC_MESSAGES/AR.po +26 -25
  221. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  222. holidays/locale/uk/LC_MESSAGES/AW.po +87 -0
  223. holidays/locale/uk/LC_MESSAGES/CL.po +18 -18
  224. holidays/locale/uk/LC_MESSAGES/CO.po +19 -19
  225. holidays/locale/uk/LC_MESSAGES/CR.po +6 -5
  226. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  227. holidays/locale/uk/LC_MESSAGES/CW.po +82 -0
  228. holidays/locale/uk/LC_MESSAGES/DK.po +7 -6
  229. holidays/locale/uk/LC_MESSAGES/DO.po +12 -12
  230. holidays/locale/uk/LC_MESSAGES/EC.po +11 -12
  231. holidays/locale/uk/LC_MESSAGES/FI.po +13 -13
  232. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  233. holidays/locale/uk/LC_MESSAGES/HN.po +13 -13
  234. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  235. holidays/locale/uk/LC_MESSAGES/HU.po +109 -0
  236. holidays/locale/uk/LC_MESSAGES/MC.po +15 -14
  237. holidays/locale/uk/LC_MESSAGES/MD.po +5 -5
  238. holidays/locale/uk/LC_MESSAGES/MX.po +3 -2
  239. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  240. holidays/locale/uk/LC_MESSAGES/NI.po +13 -13
  241. holidays/locale/uk/LC_MESSAGES/NO.po +1 -1
  242. holidays/locale/uk/LC_MESSAGES/PL.po +23 -21
  243. holidays/locale/uk/LC_MESSAGES/PY.po +13 -11
  244. holidays/locale/uk/LC_MESSAGES/RO.po +4 -3
  245. holidays/locale/uk/LC_MESSAGES/SE.po +1 -1
  246. holidays/locale/uk/LC_MESSAGES/SK.po +14 -14
  247. holidays/locale/uk/LC_MESSAGES/UA.po +16 -14
  248. holidays/locale/uk/LC_MESSAGES/VE.po +6 -6
  249. holidays/registry.py +7 -11
  250. holidays/utils.py +5 -15
  251. {holidays-0.26.dist-info → holidays-0.27.dist-info}/METADATA +25 -7
  252. holidays-0.27.dist-info/RECORD +449 -0
  253. holidays-0.26.dist-info/RECORD +0 -402
  254. {holidays-0.26.dist-info → holidays-0.27.dist-info}/LICENSE +0 -0
  255. {holidays-0.26.dist-info → holidays-0.27.dist-info}/WHEEL +0 -0
  256. {holidays-0.26.dist-info → holidays-0.27.dist-info}/top_level.txt +0 -0
@@ -12,16 +12,40 @@
12
12
  from datetime import date
13
13
  from datetime import timedelta as td
14
14
 
15
- from holidays.calendars import _CustomBuddhistCalendar, _CustomChineseCalendar
16
- from holidays.calendars import _CustomHinduCalendar, _CustomIslamicCalendar
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.constants import OCT, NOV, DEC, MON, FRI, SAT, SUN
15
+ from holidays.calendars import (
16
+ _CustomBuddhistCalendar,
17
+ _CustomChineseCalendar,
18
+ _CustomHinduCalendar,
19
+ _CustomIslamicCalendar,
20
+ _get_nth_weekday_of_month,
21
+ )
22
+ from holidays.constants import (
23
+ JAN,
24
+ FEB,
25
+ MAR,
26
+ APR,
27
+ MAY,
28
+ JUN,
29
+ JUL,
30
+ AUG,
31
+ SEP,
32
+ OCT,
33
+ NOV,
34
+ DEC,
35
+ MON,
36
+ FRI,
37
+ SAT,
38
+ SUN,
39
+ )
20
40
  from holidays.holiday_base import HolidayBase
21
- from holidays.holiday_groups import BuddhistCalendarHolidays
22
- from holidays.holiday_groups import ChineseCalendarHolidays, ChristianHolidays
23
- from holidays.holiday_groups import HinduCalendarHolidays
24
- from holidays.holiday_groups import InternationalHolidays, IslamicHolidays
41
+ from holidays.holiday_groups import (
42
+ BuddhistCalendarHolidays,
43
+ ChineseCalendarHolidays,
44
+ ChristianHolidays,
45
+ HinduCalendarHolidays,
46
+ InternationalHolidays,
47
+ IslamicHolidays,
48
+ )
25
49
 
26
50
 
27
51
  class Malaysia(
@@ -38,9 +62,9 @@ class Malaysia(
38
62
  # The years 1955 1959 1995 seems to have the elections
39
63
  # one weekday but I am not sure if they were marked as
40
64
  # holidays.
41
- 1999: ((NOV, 29, "Malaysia General Election Holiday"),),
42
- 2018: ((MAY, 9, "Malaysia General Election Holiday"),),
43
- 2019: ((JUL, 30, "Installation of New King"),),
65
+ 1999: (NOV, 29, "Malaysia General Election Holiday"),
66
+ 2018: (MAY, 9, "Malaysia General Election Holiday"),
67
+ 2019: (JUL, 30, "Installation of New King"),
44
68
  }
45
69
  subdivisions = (
46
70
  "JHR",
@@ -123,9 +147,7 @@ class Malaysia(
123
147
  # The second day of Chinese New Year is not a federal holiday in
124
148
  # Kelantan and Terengganu. However, it is gazetted as a state holiday
125
149
  # in both states, effectively making it a nationwide holiday.
126
- observed_dates.add(
127
- self._add_chinese_new_years_day_two("Chinese New Year Holiday")
128
- )
150
+ observed_dates.add(self._add_chinese_new_years_day_two("Chinese New Year Holiday"))
129
151
 
130
152
  # Vesak Day.
131
153
  observed_dates.add(self._add_vesak_may("Vesak Day"))
@@ -143,11 +165,7 @@ class Malaysia(
143
165
  hol_date = date(2020, JUN, 8)
144
166
  else:
145
167
  hol_date = _get_nth_weekday_of_month(1, MON, JUN, year)
146
- observed_dates.add(
147
- self._add_holiday(
148
- "Birthday of SPB Yang di-Pertuan Agong", hol_date
149
- )
150
- )
168
+ observed_dates.add(self._add_holiday("Birthday of SPB Yang di-Pertuan Agong", hol_date))
151
169
 
152
170
  # Hari Kebangsaan or National Day.
153
171
  observed_dates.add(self._add_holiday("National Day", AUG, 31))
@@ -166,9 +184,7 @@ class Malaysia(
166
184
  # Birthday of the Prophet Muhammad (s.a.w.).
167
185
  # a.k.a. Hari Keputeraan Nabi Muhammad (Sabah Act)
168
186
  observed_dates.update(
169
- self._add_mawlid_day(
170
- "Maulidur Rasul (Birthday of the Prophet Muhammad)"
171
- )
187
+ self._add_mawlid_day("Maulidur Rasul (Birthday of the Prophet Muhammad)")
172
188
  )
173
189
 
174
190
  # Hari Raya Puasa (2 days).
@@ -176,9 +192,7 @@ class Malaysia(
176
192
  # exact date of observance is announced yearly
177
193
  name = "Hari Raya Puasa"
178
194
  observed_dates.update(self._add_eid_al_fitr_day(name))
179
- observed_dates.update(
180
- self._add_eid_al_fitr_day_two(f"Second day of {name}")
181
- )
195
+ observed_dates.update(self._add_eid_al_fitr_day_two(f"Second day of {name}"))
182
196
 
183
197
  # Arafat Day.
184
198
  if self.subdiv == "TRG":
@@ -207,18 +221,12 @@ class Malaysia(
207
221
  observed_dates.add(self._add_new_years_day("New Year's Day"))
208
222
 
209
223
  # Isra and Mi'raj.
210
- if self.subdiv in {"KDH", "NSN", "PLS"} or (
211
- self.subdiv == "TRG" and year >= 2020
212
- ):
213
- observed_dates.update(
214
- self._add_isra_and_miraj_day("Isra and Mi'raj")
215
- )
224
+ if self.subdiv in {"KDH", "NSN", "PLS"} or (self.subdiv == "TRG" and year >= 2020):
225
+ observed_dates.update(self._add_isra_and_miraj_day("Isra and Mi'raj"))
216
226
 
217
227
  # Beginning of Ramadan.
218
228
  if self.subdiv in {"JHR", "KDH", "MLK"}:
219
- observed_dates.update(
220
- self._add_ramadan_beginning_day("Beginning of Ramadan")
221
- )
229
+ observed_dates.update(self._add_ramadan_beginning_day("Beginning of Ramadan"))
222
230
 
223
231
  # Nuzul Al-Quran Day.
224
232
  if self.subdiv in {
@@ -233,9 +241,7 @@ class Malaysia(
233
241
  "SGR",
234
242
  "TRG",
235
243
  }:
236
- observed_dates.update(
237
- self._add_nuzul_al_quran_day("Nuzul Al-Quran Day")
238
- )
244
+ observed_dates.update(self._add_nuzul_al_quran_day("Nuzul Al-Quran Day"))
239
245
 
240
246
  # Thaipusam.
241
247
  if self.subdiv in {"JHR", "KUL", "NSN", "PJY", "PNG", "PRK", "SGR"}:
@@ -243,18 +249,14 @@ class Malaysia(
243
249
 
244
250
  # Federal Territory Day.
245
251
  if self.subdiv in {"KUL", "LBN", "PJY"} and year >= 1974:
246
- observed_dates.add(
247
- self._add_holiday("Federal Territory Day", FEB, 1)
248
- )
252
+ observed_dates.add(self._add_holiday("Federal Territory Day", FEB, 1))
249
253
 
250
254
  # State holidays (single state)
251
255
 
252
256
  if self.subdiv == "MLK":
253
257
  if year >= 1989:
254
258
  observed_dates.add(
255
- self._add_holiday(
256
- "Declaration of Malacca as a Historical City", APR, 15
257
- )
259
+ self._add_holiday("Declaration of Malacca as a Historical City", APR, 15)
258
260
  )
259
261
 
260
262
  observed_dates.add(
@@ -268,30 +270,20 @@ class Malaysia(
268
270
 
269
271
  elif self.subdiv == "NSN" and year >= 2009:
270
272
  observed_dates.add(
271
- self._add_holiday(
272
- "Birthday of the Sultan of Negeri Sembilan", JAN, 14
273
- )
273
+ self._add_holiday("Birthday of the Sultan of Negeri Sembilan", JAN, 14)
274
274
  )
275
275
 
276
276
  elif self.subdiv == "PHG" and year >= 1975:
277
277
  observed_dates.add(
278
- self._add_holiday(
279
- "Hari Hol of Pahang", MAY, 22 if year >= 2021 else 7
280
- )
278
+ self._add_holiday("Hari Hol of Pahang", MAY, 22 if year >= 2021 else 7)
281
279
  )
282
280
 
283
281
  hol_date = (JUL, 30) if year >= 2019 else (OCT, 24)
284
- observed_dates.add(
285
- self._add_holiday(
286
- "Birthday of the Sultan of Pahang", *hol_date
287
- )
288
- )
282
+ observed_dates.add(self._add_holiday("Birthday of the Sultan of Pahang", *hol_date))
289
283
 
290
284
  elif self.subdiv == "PNG":
291
285
  if year >= 2009:
292
- observed_dates.add(
293
- self._add_holiday("George Town Heritage Day", JUL, 7)
294
- )
286
+ observed_dates.add(self._add_holiday("George Town Heritage Day", JUL, 7))
295
287
 
296
288
  observed_dates.add(
297
289
  self._add_holiday(
@@ -302,23 +294,15 @@ class Malaysia(
302
294
 
303
295
  elif self.subdiv == "PLS" and year >= 2000:
304
296
  hol_date = (JUL, 17) if year >= 2018 else (MAY, 17)
305
- observed_dates.add(
306
- self._add_holiday("Birthday of The Raja of Perlis", *hol_date)
307
- )
297
+ observed_dates.add(self._add_holiday("Birthday of The Raja of Perlis", *hol_date))
308
298
 
309
299
  elif self.subdiv == "SGR":
310
- observed_dates.add(
311
- self._add_holiday(
312
- "Birthday of The Sultan of Selangor", DEC, 11
313
- )
314
- )
300
+ observed_dates.add(self._add_holiday("Birthday of The Sultan of Selangor", DEC, 11))
315
301
 
316
302
  elif self.subdiv == "SWK":
317
303
  # Dayak Festival Day (the first day of June) and the following day.
318
304
  observed_dates.add(self._add_holiday("Gawai Dayak", JUN, 1))
319
- observed_dates.add(
320
- self._add_holiday("Gawai Dayak (Second day)", JUN, 2)
321
- )
305
+ observed_dates.add(self._add_holiday("Gawai Dayak (Second day)", JUN, 2))
322
306
 
323
307
  # Birthday of Tuan Yang Terutama Yang di-Pertua Negeri Sarawak
324
308
  # (the second Saturday of October).
@@ -336,18 +320,13 @@ class Malaysia(
336
320
  elif self.subdiv == "TRG" and year >= 2000:
337
321
  observed_dates.add(
338
322
  self._add_holiday(
339
- "Anniversary of the Installation "
340
- "of the Sultan of Terengganu",
323
+ "Anniversary of the Installation of the Sultan of Terengganu",
341
324
  MAR,
342
325
  4,
343
326
  )
344
327
  )
345
328
 
346
- observed_dates.add(
347
- self._add_holiday(
348
- "Birthday of the Sultan of Terengganu", APR, 26
349
- )
350
- )
329
+ observed_dates.add(self._add_holiday("Birthday of the Sultan of Terengganu", APR, 26))
351
330
 
352
331
  # Check for holidays that fall on a Sunday and
353
332
  # implement Section 3 of Malaysian Holidays Act:
@@ -361,9 +340,7 @@ class Malaysia(
361
340
  weekday_observed_days = (
362
341
  (FRI, +2)
363
342
  if self.subdiv in {"JHR", "KDH"}
364
- else (
365
- (SAT, +1) if self.subdiv in {"KTN", "TRG"} else (SUN, +1)
366
- )
343
+ else ((SAT, +1) if self.subdiv in {"KTN", "TRG"} else (SUN, +1))
367
344
  )
368
345
  observed_dates.difference_update({None})
369
346
  for hol_date in sorted(observed_dates):
@@ -421,9 +398,7 @@ class Malaysia(
421
398
  self._add_holiday("Birthday of the Sultan of Johor", MAR, 23)
422
399
 
423
400
  if year >= 2011:
424
- self._add_hari_hol_johor(
425
- "Hari Hol of Sultan Iskandar of Johor"
426
- )
401
+ self._add_hari_hol_johor("Hari Hol of Sultan Iskandar of Johor")
427
402
 
428
403
  elif self.subdiv == "KDH" and year >= 2020:
429
404
  self._add_holiday(
@@ -563,194 +538,194 @@ class MalaysiaHinduCalendar(_CustomHinduCalendar):
563
538
 
564
539
  class MalaysiaIslamicCalendar(_CustomIslamicCalendar):
565
540
  EID_AL_ADHA_DATES = {
566
- 2001: ((MAR, 6),),
567
- 2002: ((FEB, 23),),
568
- 2003: ((FEB, 12),),
569
- 2004: ((FEB, 2),),
570
- 2005: ((JAN, 21),),
541
+ 2001: (MAR, 6),
542
+ 2002: (FEB, 23),
543
+ 2003: (FEB, 12),
544
+ 2004: (FEB, 2),
545
+ 2005: (JAN, 21),
571
546
  2006: ((JAN, 10), (DEC, 31)),
572
- 2007: ((DEC, 20),),
573
- 2008: ((DEC, 9),),
574
- 2009: ((NOV, 28),),
575
- 2010: ((NOV, 17),),
576
- 2011: ((NOV, 7),),
577
- 2012: ((OCT, 26),),
578
- 2013: ((OCT, 15),),
579
- 2014: ((OCT, 5),),
580
- 2015: ((SEP, 24),),
581
- 2016: ((SEP, 12),),
582
- 2017: ((SEP, 1),),
583
- 2018: ((AUG, 22),),
584
- 2019: ((AUG, 11),),
585
- 2020: ((JUL, 31),),
586
- 2021: ((JUL, 20),),
587
- 2022: ((JUL, 10),),
547
+ 2007: (DEC, 20),
548
+ 2008: (DEC, 9),
549
+ 2009: (NOV, 28),
550
+ 2010: (NOV, 17),
551
+ 2011: (NOV, 7),
552
+ 2012: (OCT, 26),
553
+ 2013: (OCT, 15),
554
+ 2014: (OCT, 5),
555
+ 2015: (SEP, 24),
556
+ 2016: (SEP, 12),
557
+ 2017: (SEP, 1),
558
+ 2018: (AUG, 22),
559
+ 2019: (AUG, 11),
560
+ 2020: (JUL, 31),
561
+ 2021: (JUL, 20),
562
+ 2022: (JUL, 10),
588
563
  }
589
564
 
590
565
  EID_AL_FITR_DATES = {
591
- 2001: ((DEC, 17),),
592
- 2002: ((DEC, 6),),
593
- 2003: ((NOV, 26),),
594
- 2004: ((NOV, 14),),
595
- 2005: ((NOV, 3),),
596
- 2006: ((OCT, 24),),
597
- 2007: ((OCT, 13),),
598
- 2008: ((OCT, 1),),
599
- 2009: ((SEP, 20),),
600
- 2010: ((SEP, 10),),
601
- 2011: ((AUG, 31),),
602
- 2012: ((AUG, 19),),
603
- 2013: ((AUG, 8),),
604
- 2014: ((JUL, 28),),
605
- 2015: ((JUL, 17),),
606
- 2016: ((JUL, 6),),
607
- 2017: ((JUN, 25),),
608
- 2018: ((JUN, 15),),
609
- 2019: ((JUN, 5),),
610
- 2020: ((MAY, 24),),
611
- 2021: ((MAY, 13),),
612
- 2022: ((MAY, 2),),
613
- 2023: ((APR, 22),),
566
+ 2001: (DEC, 17),
567
+ 2002: (DEC, 6),
568
+ 2003: (NOV, 26),
569
+ 2004: (NOV, 14),
570
+ 2005: (NOV, 3),
571
+ 2006: (OCT, 24),
572
+ 2007: (OCT, 13),
573
+ 2008: (OCT, 1),
574
+ 2009: (SEP, 20),
575
+ 2010: (SEP, 10),
576
+ 2011: (AUG, 31),
577
+ 2012: (AUG, 19),
578
+ 2013: (AUG, 8),
579
+ 2014: (JUL, 28),
580
+ 2015: (JUL, 17),
581
+ 2016: (JUL, 6),
582
+ 2017: (JUN, 25),
583
+ 2018: (JUN, 15),
584
+ 2019: (JUN, 5),
585
+ 2020: (MAY, 24),
586
+ 2021: (MAY, 13),
587
+ 2022: (MAY, 2),
588
+ 2023: (APR, 22),
614
589
  }
615
590
 
616
591
  HARI_HOL_JOHOR_DATES = {
617
- 2011: ((JAN, 12),),
592
+ 2011: (JAN, 12),
618
593
  2012: ((JAN, 1), (DEC, 20)),
619
- 2013: ((DEC, 10),),
620
- 2014: ((NOV, 29),),
621
- 2015: ((NOV, 19),),
622
- 2016: ((NOV, 7),),
623
- 2017: ((OCT, 27),),
624
- 2018: ((OCT, 15),),
625
- 2019: ((OCT, 5),),
626
- 2020: ((SEP, 24),),
627
- 2021: ((SEP, 13),),
628
- 2022: ((SEP, 3),),
594
+ 2013: (DEC, 10),
595
+ 2014: (NOV, 29),
596
+ 2015: (NOV, 19),
597
+ 2016: (NOV, 7),
598
+ 2017: (OCT, 27),
599
+ 2018: (OCT, 15),
600
+ 2019: (OCT, 5),
601
+ 2020: (SEP, 24),
602
+ 2021: (SEP, 13),
603
+ 2022: (SEP, 3),
629
604
  }
630
605
 
631
606
  HIJRI_NEW_YEAR_DATES = {
632
- 2001: ((MAR, 26),),
633
- 2002: ((MAR, 15),),
634
- 2003: ((MAR, 5),),
635
- 2004: ((FEB, 22),),
636
- 2005: ((FEB, 10),),
637
- 2006: ((JAN, 31),),
638
- 2007: ((JAN, 20),),
607
+ 2001: (MAR, 26),
608
+ 2002: (MAR, 15),
609
+ 2003: (MAR, 5),
610
+ 2004: (FEB, 22),
611
+ 2005: (FEB, 10),
612
+ 2006: (JAN, 31),
613
+ 2007: (JAN, 20),
639
614
  2008: ((JAN, 10), (DEC, 29)),
640
- 2009: ((DEC, 18),),
641
- 2010: ((DEC, 8),),
642
- 2011: ((NOV, 27),),
643
- 2012: ((NOV, 15),),
644
- 2013: ((NOV, 5),),
645
- 2014: ((OCT, 25),),
646
- 2015: ((OCT, 14),),
647
- 2016: ((OCT, 2),),
648
- 2017: ((SEP, 22),),
649
- 2018: ((SEP, 11),),
650
- 2019: ((SEP, 1),),
651
- 2020: ((AUG, 20),),
652
- 2021: ((AUG, 10),),
653
- 2022: ((JUL, 30),),
615
+ 2009: (DEC, 18),
616
+ 2010: (DEC, 8),
617
+ 2011: (NOV, 27),
618
+ 2012: (NOV, 15),
619
+ 2013: (NOV, 5),
620
+ 2014: (OCT, 25),
621
+ 2015: (OCT, 14),
622
+ 2016: (OCT, 2),
623
+ 2017: (SEP, 22),
624
+ 2018: (SEP, 11),
625
+ 2019: (SEP, 1),
626
+ 2020: (AUG, 20),
627
+ 2021: (AUG, 10),
628
+ 2022: (JUL, 30),
654
629
  }
655
630
 
656
631
  ISRA_AND_MIRAJ_DATES = {
657
- 2001: ((OCT, 15),),
658
- 2002: ((OCT, 4),),
659
- 2003: ((SEP, 24),),
660
- 2004: ((SEP, 12),),
661
- 2005: ((SEP, 1),),
662
- 2006: ((AUG, 22),),
663
- 2007: ((AUG, 11),),
664
- 2008: ((JUL, 31),),
665
- 2009: ((JUL, 20),),
666
- 2010: ((JUL, 9),),
667
- 2011: ((JUN, 29),),
668
- 2012: ((JUN, 17),),
669
- 2013: ((JUN, 6),),
670
- 2014: ((MAY, 27),),
671
- 2015: ((MAY, 16),),
672
- 2016: ((MAY, 5),),
673
- 2017: ((APR, 24),),
674
- 2018: ((APR, 14),),
675
- 2019: ((APR, 3),),
676
- 2020: ((MAR, 22),),
677
- 2021: ((MAR, 11),),
678
- 2022: ((MAR, 1),),
679
- 2023: ((FEB, 18),),
632
+ 2001: (OCT, 15),
633
+ 2002: (OCT, 4),
634
+ 2003: (SEP, 24),
635
+ 2004: (SEP, 12),
636
+ 2005: (SEP, 1),
637
+ 2006: (AUG, 22),
638
+ 2007: (AUG, 11),
639
+ 2008: (JUL, 31),
640
+ 2009: (JUL, 20),
641
+ 2010: (JUL, 9),
642
+ 2011: (JUN, 29),
643
+ 2012: (JUN, 17),
644
+ 2013: (JUN, 6),
645
+ 2014: (MAY, 27),
646
+ 2015: (MAY, 16),
647
+ 2016: (MAY, 5),
648
+ 2017: (APR, 24),
649
+ 2018: (APR, 14),
650
+ 2019: (APR, 3),
651
+ 2020: (MAR, 22),
652
+ 2021: (MAR, 11),
653
+ 2022: (MAR, 1),
654
+ 2023: (FEB, 18),
680
655
  }
681
656
 
682
657
  MAWLID_DATES = {
683
- 2001: ((JUN, 4),),
684
- 2002: ((MAY, 24),),
685
- 2003: ((MAY, 14),),
686
- 2004: ((MAY, 2),),
687
- 2005: ((APR, 21),),
688
- 2006: ((APR, 11),),
689
- 2007: ((MAR, 31),),
690
- 2008: ((MAR, 20),),
691
- 2009: ((MAR, 9),),
692
- 2010: ((FEB, 26),),
693
- 2011: ((FEB, 16),),
694
- 2012: ((FEB, 5),),
695
- 2013: ((JAN, 24),),
696
- 2014: ((JAN, 14),),
658
+ 2001: (JUN, 4),
659
+ 2002: (MAY, 24),
660
+ 2003: (MAY, 14),
661
+ 2004: (MAY, 2),
662
+ 2005: (APR, 21),
663
+ 2006: (APR, 11),
664
+ 2007: (MAR, 31),
665
+ 2008: (MAR, 20),
666
+ 2009: (MAR, 9),
667
+ 2010: (FEB, 26),
668
+ 2011: (FEB, 16),
669
+ 2012: (FEB, 5),
670
+ 2013: (JAN, 24),
671
+ 2014: (JAN, 14),
697
672
  2015: ((JAN, 3), (DEC, 24)),
698
- 2016: ((DEC, 12),),
699
- 2017: ((DEC, 1),),
700
- 2018: ((NOV, 20),),
701
- 2019: ((NOV, 9),),
702
- 2020: ((OCT, 29),),
703
- 2021: ((OCT, 19),),
704
- 2022: ((OCT, 10),),
673
+ 2016: (DEC, 12),
674
+ 2017: (DEC, 1),
675
+ 2018: (NOV, 20),
676
+ 2019: (NOV, 9),
677
+ 2020: (OCT, 29),
678
+ 2021: (OCT, 19),
679
+ 2022: (OCT, 10),
705
680
  }
706
681
  NUZUL_AL_QURAN_DATES = {
707
- 2001: ((DEC, 3),),
708
- 2002: ((NOV, 22),),
709
- 2003: ((NOV, 12),),
710
- 2004: ((NOV, 1),),
711
- 2005: ((OCT, 21),),
712
- 2006: ((OCT, 10),),
713
- 2007: ((SEP, 29),),
714
- 2008: ((SEP, 18),),
715
- 2009: ((SEP, 7),),
716
- 2010: ((AUG, 27),),
717
- 2011: ((AUG, 17),),
718
- 2012: ((AUG, 5),),
719
- 2013: ((JUL, 25),),
720
- 2014: ((JUL, 15),),
721
- 2015: ((JUL, 4),),
722
- 2016: ((JUN, 22),),
723
- 2017: ((JUN, 12),),
724
- 2018: ((JUN, 2),),
725
- 2019: ((MAY, 22),),
726
- 2020: ((MAY, 10),),
727
- 2021: ((APR, 29),),
728
- 2022: ((APR, 19),),
729
- 2023: ((APR, 8),),
682
+ 2001: (DEC, 3),
683
+ 2002: (NOV, 22),
684
+ 2003: (NOV, 12),
685
+ 2004: (NOV, 1),
686
+ 2005: (OCT, 21),
687
+ 2006: (OCT, 10),
688
+ 2007: (SEP, 29),
689
+ 2008: (SEP, 18),
690
+ 2009: (SEP, 7),
691
+ 2010: (AUG, 27),
692
+ 2011: (AUG, 17),
693
+ 2012: (AUG, 5),
694
+ 2013: (JUL, 25),
695
+ 2014: (JUL, 15),
696
+ 2015: (JUL, 4),
697
+ 2016: (JUN, 22),
698
+ 2017: (JUN, 12),
699
+ 2018: (JUN, 2),
700
+ 2019: (MAY, 22),
701
+ 2020: (MAY, 10),
702
+ 2021: (APR, 29),
703
+ 2022: (APR, 19),
704
+ 2023: (APR, 8),
730
705
  }
731
706
 
732
707
  RAMADAN_BEGINNING_DATES = {
733
- 2001: ((NOV, 17),),
734
- 2002: ((NOV, 6),),
735
- 2003: ((OCT, 27),),
736
- 2004: ((OCT, 16),),
737
- 2005: ((OCT, 5),),
738
- 2006: ((SEP, 24),),
739
- 2007: ((SEP, 13),),
740
- 2008: ((SEP, 2),),
741
- 2009: ((AUG, 22),),
742
- 2010: ((AUG, 11),),
743
- 2011: ((AUG, 1),),
744
- 2012: ((JUL, 20),),
745
- 2013: ((JUL, 9),),
746
- 2014: ((JUN, 29),),
747
- 2015: ((JUN, 18),),
748
- 2016: ((JUN, 7),),
749
- 2017: ((MAY, 27),),
750
- 2018: ((MAY, 17),),
751
- 2019: ((MAY, 6),),
752
- 2020: ((APR, 24),),
753
- 2021: ((APR, 13),),
754
- 2022: ((APR, 3),),
755
- 2023: ((MAR, 23),),
708
+ 2001: (NOV, 17),
709
+ 2002: (NOV, 6),
710
+ 2003: (OCT, 27),
711
+ 2004: (OCT, 16),
712
+ 2005: (OCT, 5),
713
+ 2006: (SEP, 24),
714
+ 2007: (SEP, 13),
715
+ 2008: (SEP, 2),
716
+ 2009: (AUG, 22),
717
+ 2010: (AUG, 11),
718
+ 2011: (AUG, 1),
719
+ 2012: (JUL, 20),
720
+ 2013: (JUL, 9),
721
+ 2014: (JUN, 29),
722
+ 2015: (JUN, 18),
723
+ 2016: (JUN, 7),
724
+ 2017: (MAY, 27),
725
+ 2018: (MAY, 17),
726
+ 2019: (MAY, 6),
727
+ 2020: (APR, 24),
728
+ 2021: (APR, 13),
729
+ 2022: (APR, 3),
730
+ 2023: (MAR, 23),
756
731
  }
@@ -28,12 +28,10 @@ class HolidaysMH(HolidayBase):
28
28
 
29
29
  country = "MH"
30
30
  special_holidays = {
31
- 2019: ((NOV, 18, "General Election Day"),), # Third Monday in November
31
+ 2019: (NOV, 18, "General Election Day"), # Third Monday in November
32
32
  }
33
33
 
34
- def _add_with_observed(
35
- self, dt: date, name: str, after_sat: bool = False
36
- ) -> None:
34
+ def _add_with_observed(self, dt: date, name: str, after_sat: bool = False) -> None:
37
35
  """
38
36
  Adds observed holiday on Monday when the current date falls on a Sunday
39
37
  or, if after_sat is True, on a Saturday.
@@ -54,8 +52,7 @@ class HolidaysMH(HolidayBase):
54
52
 
55
53
  if year < 2023:
56
54
  warnings.warn(
57
- "Years before 2022 are not available for the Marshall Islands "
58
- "(MH).",
55
+ "Years before 2022 are not available for the Marshall Islands (MH).",
59
56
  Warning,
60
57
  )
61
58
 
@@ -64,9 +61,7 @@ class HolidaysMH(HolidayBase):
64
61
  self._add_with_observed(date(year, JAN, 1), name, after_sat=True)
65
62
 
66
63
  # Nuclear Victims Remembrance Day
67
- self._add_with_observed(
68
- date(year, MAR, 1), "Nuclear Victims Remembrance Day"
69
- )
64
+ self._add_with_observed(date(year, MAR, 1), "Nuclear Victims Remembrance Day")
70
65
 
71
66
  # Good Friday
72
67
  self[easter(year) + td(days=-2)] = "Good Friday"
@@ -79,9 +79,7 @@ class Mexico(HolidayBase, ChristianHolidays, InternationalHolidays):
79
79
 
80
80
  if year >= 1970 and (year - 1970) % 6 == 0:
81
81
  # Change of Federal Government.
82
- self._add_holiday(
83
- tr("Transmisión del Poder Ejecutivo Federal"), DEC, 1
84
- )
82
+ self._add_holiday(tr("Transmisión del Poder Ejecutivo Federal"), DEC, 1)
85
83
 
86
84
  # Christmas Day.
87
85
  self._add_christmas_day(tr("Navidad"))