holidays 0.80__py3-none-any.whl → 0.82__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/calendars/__init__.py +1 -0
- holidays/calendars/burmese.py +319 -0
- holidays/calendars/chinese.py +39 -1
- holidays/calendars/hebrew.py +2 -2
- holidays/calendars/thai.py +49 -2
- holidays/countries/__init__.py +16 -0
- holidays/countries/afghanistan.py +7 -5
- holidays/countries/algeria.py +89 -24
- holidays/countries/antarctica.py +58 -0
- holidays/countries/bouvet_island.py +31 -0
- holidays/countries/brazil.py +1 -1
- holidays/countries/british_indian_ocean_territory.py +31 -0
- holidays/countries/bulgaria.py +6 -1
- holidays/countries/chile.py +9 -8
- holidays/countries/china.py +4 -0
- holidays/countries/cuba.py +3 -4
- holidays/countries/djibouti.py +1 -1
- holidays/countries/heard_island_and_mcdonald_islands.py +31 -0
- holidays/countries/hongkong.py +5 -1
- holidays/countries/hungary.py +4 -5
- holidays/countries/india.py +6 -0
- holidays/countries/japan.py +22 -18
- holidays/countries/jordan.py +6 -3
- holidays/countries/kuwait.py +6 -3
- holidays/countries/macau.py +9 -0
- holidays/countries/malaysia.py +14 -3
- holidays/countries/mongolia.py +2 -0
- holidays/countries/myanmar.py +195 -0
- holidays/countries/north_korea.py +161 -0
- holidays/countries/norway.py +23 -8
- holidays/countries/oman.py +6 -2
- holidays/countries/paraguay.py +70 -23
- holidays/countries/philippines.py +11 -2
- holidays/countries/portugal.py +5 -6
- holidays/countries/qatar.py +5 -2
- holidays/countries/rwanda.py +6 -1
- holidays/countries/saint_helena_ascension_and_tristan_da_cunha.py +197 -0
- holidays/countries/saudi_arabia.py +6 -5
- holidays/countries/serbia.py +5 -0
- holidays/countries/south_africa.py +96 -53
- holidays/countries/south_korea.py +10 -1
- holidays/countries/spain.py +26 -4
- holidays/countries/sudan.py +118 -0
- holidays/countries/switzerland.py +169 -3
- holidays/countries/taiwan.py +27 -3
- holidays/countries/tajikistan.py +1 -1
- holidays/countries/tanzania.py +6 -1
- holidays/countries/thailand.py +21 -0
- holidays/countries/tonga.py +6 -1
- holidays/countries/trinidad_and_tobago.py +6 -1
- holidays/countries/united_arab_emirates.py +9 -2
- holidays/countries/united_states.py +16 -0
- holidays/countries/uruguay.py +6 -1
- holidays/countries/vietnam.py +10 -1
- holidays/countries/yemen.py +6 -3
- holidays/groups/__init__.py +1 -0
- holidays/groups/balinese_saka.py +1 -1
- holidays/groups/buddhist.py +1 -1
- holidays/groups/burmese.py +273 -0
- holidays/groups/chinese.py +27 -14
- holidays/groups/custom.py +8 -2
- holidays/groups/eastern.py +25 -3
- holidays/groups/hebrew.py +16 -14
- holidays/groups/hindu.py +15 -13
- holidays/groups/islamic.py +52 -47
- holidays/groups/mongolian.py +1 -1
- holidays/groups/sinhala.py +4 -9
- holidays/groups/tibetan.py +3 -4
- holidays/holiday_base.py +5 -4
- holidays/ical.py +6 -4
- holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/ar_SD/LC_MESSAGES/SD.mo +0 -0
- holidays/locale/ca/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/SH.mo +0 -0
- holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/ko_KP/LC_MESSAGES/KP.mo +0 -0
- holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
- holidays/locale/my/LC_MESSAGES/MM.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
- holidays/no_holiday_base.py +21 -0
- holidays/observed_holiday_base.py +1 -1
- holidays/registry.py +12 -0
- holidays/utils.py +5 -5
- holidays/version.py +1 -1
- {holidays-0.80.dist-info → holidays-0.82.dist-info}/METADATA +61 -5
- {holidays-0.80.dist-info → holidays-0.82.dist-info}/RECORD +142 -121
- {holidays-0.80.dist-info → holidays-0.82.dist-info}/licenses/CONTRIBUTORS +2 -0
- {holidays-0.80.dist-info → holidays-0.82.dist-info}/WHEEL +0 -0
- {holidays-0.80.dist-info → holidays-0.82.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.80.dist-info → holidays-0.82.dist-info}/top_level.txt +0 -0
|
@@ -144,85 +144,122 @@ class Switzerland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays)
|
|
|
144
144
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
145
145
|
|
|
146
146
|
def _populate_subdiv_ar_public_holidays(self):
|
|
147
|
+
# Good Friday.
|
|
147
148
|
self._add_good_friday(tr("Karfreitag"))
|
|
148
149
|
|
|
150
|
+
# Easter Monday.
|
|
149
151
|
self._add_easter_monday(tr("Ostermontag"))
|
|
150
152
|
|
|
153
|
+
# Whit Monday.
|
|
151
154
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
152
155
|
|
|
153
156
|
self._add_observed(
|
|
154
|
-
|
|
157
|
+
# Saint Stephen's Day.
|
|
158
|
+
self._add_christmas_day_two(tr("Stephanstag")),
|
|
159
|
+
rule=TUE_TO_NONE + SAT_TO_NONE,
|
|
155
160
|
)
|
|
156
161
|
|
|
157
162
|
def _populate_subdiv_ai_public_holidays(self):
|
|
163
|
+
# Good Friday.
|
|
158
164
|
self._add_good_friday(tr("Karfreitag"))
|
|
159
165
|
|
|
166
|
+
# Easter Monday.
|
|
160
167
|
self._add_easter_monday(tr("Ostermontag"))
|
|
161
168
|
|
|
169
|
+
# Whit Monday.
|
|
162
170
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
163
171
|
|
|
172
|
+
# Corpus Christi.
|
|
164
173
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
165
174
|
|
|
175
|
+
# Assumption Day.
|
|
166
176
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
167
177
|
|
|
178
|
+
# All Saints' Day.
|
|
168
179
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
169
180
|
|
|
181
|
+
# Immaculate Conception.
|
|
170
182
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
171
183
|
|
|
172
184
|
self._add_observed(
|
|
173
|
-
|
|
185
|
+
# Saint Stephen's Day.
|
|
186
|
+
self._add_christmas_day_two(tr("Stephanstag")),
|
|
187
|
+
rule=TUE_TO_NONE + SAT_TO_NONE,
|
|
174
188
|
)
|
|
175
189
|
|
|
176
190
|
def _populate_subdiv_bl_public_holidays(self):
|
|
191
|
+
# Good Friday.
|
|
177
192
|
self._add_good_friday(tr("Karfreitag"))
|
|
178
193
|
|
|
194
|
+
# Easter Monday.
|
|
179
195
|
self._add_easter_monday(tr("Ostermontag"))
|
|
180
196
|
|
|
197
|
+
# Labor Day.
|
|
181
198
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
182
199
|
|
|
200
|
+
# Whit Monday.
|
|
183
201
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
184
202
|
|
|
203
|
+
# Saint Stephen's Day.
|
|
185
204
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
186
205
|
|
|
187
206
|
def _populate_subdiv_bs_public_holidays(self):
|
|
207
|
+
# Good Friday.
|
|
188
208
|
self._add_good_friday(tr("Karfreitag"))
|
|
189
209
|
|
|
210
|
+
# Easter Monday.
|
|
190
211
|
self._add_easter_monday(tr("Ostermontag"))
|
|
191
212
|
|
|
213
|
+
# Labor Day.
|
|
192
214
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
193
215
|
|
|
216
|
+
# Whit Monday.
|
|
194
217
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
195
218
|
|
|
219
|
+
# Saint Stephen's Day.
|
|
196
220
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
197
221
|
|
|
198
222
|
def _populate_subdiv_be_public_holidays(self):
|
|
223
|
+
# Saint Berchtold's Day.
|
|
199
224
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
200
225
|
|
|
226
|
+
# Good Friday.
|
|
201
227
|
self._add_good_friday(tr("Karfreitag"))
|
|
202
228
|
|
|
229
|
+
# Easter Monday.
|
|
203
230
|
self._add_easter_monday(tr("Ostermontag"))
|
|
204
231
|
|
|
232
|
+
# Whit Monday.
|
|
205
233
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
206
234
|
|
|
235
|
+
# Saint Stephen's Day.
|
|
207
236
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
208
237
|
|
|
209
238
|
def _populate_subdiv_fr_public_holidays(self):
|
|
239
|
+
# Good Friday.
|
|
210
240
|
self._add_good_friday(tr("Karfreitag"))
|
|
211
241
|
|
|
212
242
|
def _populate_subdiv_fr_optional_holidays(self):
|
|
243
|
+
# Saint Berchtold's Day.
|
|
213
244
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
214
245
|
|
|
246
|
+
# Easter Monday.
|
|
215
247
|
self._add_easter_monday(tr("Ostermontag"))
|
|
216
248
|
|
|
249
|
+
# Whit Monday.
|
|
217
250
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
218
251
|
|
|
252
|
+
# Saint Stephen's Day.
|
|
219
253
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
220
254
|
|
|
221
255
|
def _populate_subdiv_ge_public_holidays(self):
|
|
256
|
+
# Good Friday.
|
|
222
257
|
self._add_good_friday(tr("Karfreitag"))
|
|
223
258
|
|
|
259
|
+
# Easter Monday.
|
|
224
260
|
self._add_easter_monday(tr("Ostermontag"))
|
|
225
261
|
|
|
262
|
+
# Whit Monday.
|
|
226
263
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
227
264
|
|
|
228
265
|
# Genevan Fast.
|
|
@@ -241,70 +278,98 @@ class Switzerland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays)
|
|
|
241
278
|
_timedelta(dt, +7) if dt == _timedelta(self._easter_sunday, -3) else dt,
|
|
242
279
|
)
|
|
243
280
|
|
|
281
|
+
# Good Friday.
|
|
244
282
|
self._add_good_friday(tr("Karfreitag"))
|
|
245
283
|
|
|
284
|
+
# Easter Monday.
|
|
246
285
|
self._add_easter_monday(tr("Ostermontag"))
|
|
247
286
|
|
|
287
|
+
# Whit Monday.
|
|
248
288
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
249
289
|
|
|
290
|
+
# All Saints' Day.
|
|
250
291
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
251
292
|
|
|
293
|
+
# Saint Stephen's Day.
|
|
252
294
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
253
295
|
|
|
254
296
|
def _populate_subdiv_gl_optional_holidays(self):
|
|
297
|
+
# Saint Berchtold's Day.
|
|
255
298
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
256
299
|
|
|
257
300
|
def _populate_subdiv_gr_public_holidays(self):
|
|
301
|
+
# Easter Monday.
|
|
258
302
|
self._add_easter_monday(tr("Ostermontag"))
|
|
259
303
|
|
|
304
|
+
# Whit Monday.
|
|
260
305
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
261
306
|
|
|
307
|
+
# Saint Stephen's Day.
|
|
262
308
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
263
309
|
|
|
264
310
|
def _populate_subdiv_gr_optional_holidays(self):
|
|
311
|
+
# Good Friday.
|
|
265
312
|
self._add_good_friday(tr("Karfreitag"))
|
|
266
313
|
|
|
267
314
|
def _populate_subdiv_ju_public_holidays(self):
|
|
315
|
+
# Saint Berchtold's Day.
|
|
268
316
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
269
317
|
|
|
318
|
+
# Good Friday.
|
|
270
319
|
self._add_good_friday(tr("Karfreitag"))
|
|
271
320
|
|
|
321
|
+
# Easter Monday.
|
|
272
322
|
self._add_easter_monday(tr("Ostermontag"))
|
|
273
323
|
|
|
324
|
+
# Labor Day.
|
|
274
325
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
275
326
|
|
|
327
|
+
# Whit Monday.
|
|
276
328
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
277
329
|
|
|
330
|
+
# Corpus Christi.
|
|
278
331
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
279
332
|
|
|
280
333
|
# Independence Day.
|
|
281
334
|
self._add_holiday_jun_23(tr("Fest der Unabhängigkeit"))
|
|
282
335
|
|
|
336
|
+
# Assumption Day.
|
|
283
337
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
284
338
|
|
|
339
|
+
# All Saints' Day.
|
|
285
340
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
286
341
|
|
|
287
342
|
def _populate_subdiv_lu_public_holidays(self):
|
|
343
|
+
# Saint Berchtold's Day.
|
|
288
344
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
289
345
|
|
|
346
|
+
# Good Friday.
|
|
290
347
|
self._add_good_friday(tr("Karfreitag"))
|
|
291
348
|
|
|
349
|
+
# Easter Monday.
|
|
292
350
|
self._add_easter_monday(tr("Ostermontag"))
|
|
293
351
|
|
|
352
|
+
# Whit Monday.
|
|
294
353
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
295
354
|
|
|
355
|
+
# Corpus Christi.
|
|
296
356
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
297
357
|
|
|
358
|
+
# Assumption Day.
|
|
298
359
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
299
360
|
|
|
361
|
+
# All Saints' Day.
|
|
300
362
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
301
363
|
|
|
364
|
+
# Immaculate Conception.
|
|
302
365
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
303
366
|
|
|
367
|
+
# Saint Stephen's Day.
|
|
304
368
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
305
369
|
|
|
306
370
|
def _populate_subdiv_ne_public_holidays(self):
|
|
307
371
|
self._add_observed(
|
|
372
|
+
# Saint Berchtold's Day.
|
|
308
373
|
self._add_new_years_day_two(tr("Berchtoldstag")),
|
|
309
374
|
rule=MON_ONLY, # Jan 2 is public holiday only when it falls on Monday.
|
|
310
375
|
)
|
|
@@ -312,242 +377,343 @@ class Switzerland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays)
|
|
|
312
377
|
# Republic Day.
|
|
313
378
|
self._add_holiday_mar_1(tr("Jahrestag der Ausrufung der Republik"))
|
|
314
379
|
|
|
380
|
+
# Good Friday.
|
|
315
381
|
self._add_good_friday(tr("Karfreitag"))
|
|
316
382
|
|
|
383
|
+
# Labor Day.
|
|
317
384
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
318
385
|
|
|
386
|
+
# Corpus Christi.
|
|
319
387
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
320
388
|
|
|
389
|
+
# Saint Stephen's Day.
|
|
321
390
|
self._add_observed(self._add_christmas_day_two(tr("Stephanstag")), rule=MON_ONLY)
|
|
322
391
|
|
|
323
392
|
def _populate_subdiv_nw_public_holidays(self):
|
|
324
393
|
# Saint Joseph's Day.
|
|
325
394
|
self._add_saint_josephs_day(tr("Josefstag"))
|
|
326
395
|
|
|
396
|
+
# Good Friday.
|
|
327
397
|
self._add_good_friday(tr("Karfreitag"))
|
|
328
398
|
|
|
399
|
+
# Corpus Christi.
|
|
329
400
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
330
401
|
|
|
402
|
+
# Assumption Day.
|
|
331
403
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
332
404
|
|
|
405
|
+
# All Saints' Day.
|
|
333
406
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
334
407
|
|
|
408
|
+
# Immaculate Conception.
|
|
335
409
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
336
410
|
|
|
337
411
|
def _populate_subdiv_nw_optional_holidays(self):
|
|
412
|
+
# Saint Berchtold's Day.
|
|
338
413
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
339
414
|
|
|
415
|
+
# Easter Monday.
|
|
340
416
|
self._add_easter_monday(tr("Ostermontag"))
|
|
341
417
|
|
|
418
|
+
# Whit Monday.
|
|
342
419
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
343
420
|
|
|
421
|
+
# Saint Stephen's Day.
|
|
344
422
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
345
423
|
|
|
346
424
|
def _populate_subdiv_ow_public_holidays(self):
|
|
425
|
+
# Good Friday.
|
|
347
426
|
self._add_good_friday(tr("Karfreitag"))
|
|
348
427
|
|
|
428
|
+
# Corpus Christi.
|
|
349
429
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
350
430
|
|
|
431
|
+
# Assumption Day.
|
|
351
432
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
352
433
|
|
|
353
434
|
# Saint Nicholas of Flüe.
|
|
354
435
|
self._add_holiday_sep_25(tr("Bruder Klaus"))
|
|
355
436
|
|
|
437
|
+
# All Saints' Day.
|
|
356
438
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
357
439
|
|
|
440
|
+
# Immaculate Conception.
|
|
358
441
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
359
442
|
|
|
360
443
|
def _populate_subdiv_ow_optional_holidays(self):
|
|
444
|
+
# Saint Berchtold's Day.
|
|
361
445
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
362
446
|
|
|
447
|
+
# Easter Monday.
|
|
363
448
|
self._add_easter_monday(tr("Ostermontag"))
|
|
364
449
|
|
|
450
|
+
# Whit Monday.
|
|
365
451
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
366
452
|
|
|
453
|
+
# Saint Stephen's Day.
|
|
367
454
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
368
455
|
|
|
369
456
|
def _populate_subdiv_sg_public_holidays(self):
|
|
457
|
+
# Good Friday.
|
|
370
458
|
self._add_good_friday(tr("Karfreitag"))
|
|
371
459
|
|
|
460
|
+
# Easter Monday.
|
|
372
461
|
self._add_easter_monday(tr("Ostermontag"))
|
|
373
462
|
|
|
463
|
+
# Whit Monday.
|
|
374
464
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
375
465
|
|
|
466
|
+
# All Saints' Day.
|
|
376
467
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
377
468
|
|
|
469
|
+
# Saint Stephen's Day.
|
|
378
470
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
379
471
|
|
|
380
472
|
def _populate_subdiv_sg_optional_holidays(self):
|
|
473
|
+
# Saint Berchtold's Day.
|
|
381
474
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
382
475
|
|
|
383
476
|
def _populate_subdiv_sh_public_holidays(self):
|
|
477
|
+
# Good Friday.
|
|
384
478
|
self._add_good_friday(tr("Karfreitag"))
|
|
385
479
|
|
|
480
|
+
# Easter Monday.
|
|
386
481
|
self._add_easter_monday(tr("Ostermontag"))
|
|
387
482
|
|
|
483
|
+
# Labor Day.
|
|
388
484
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
389
485
|
|
|
486
|
+
# Whit Monday.
|
|
390
487
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
391
488
|
|
|
489
|
+
# Saint Stephen's Day.
|
|
392
490
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
393
491
|
|
|
394
492
|
def _populate_subdiv_sh_optional_holidays(self):
|
|
493
|
+
# Saint Berchtold's Day.
|
|
395
494
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
396
495
|
|
|
397
496
|
def _populate_subdiv_sz_public_holidays(self):
|
|
398
497
|
# Epiphany.
|
|
399
498
|
self._add_epiphany_day(tr("Heilige Drei Könige"))
|
|
400
499
|
|
|
500
|
+
# Saint Joseph's Day.
|
|
401
501
|
self._add_saint_josephs_day(tr("Josefstag"))
|
|
402
502
|
|
|
503
|
+
# Good Friday.
|
|
403
504
|
self._add_good_friday(tr("Karfreitag"))
|
|
404
505
|
|
|
506
|
+
# Easter Monday.
|
|
405
507
|
self._add_easter_monday(tr("Ostermontag"))
|
|
406
508
|
|
|
509
|
+
# Whit Monday.
|
|
407
510
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
408
511
|
|
|
512
|
+
# Corpus Christi.
|
|
409
513
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
410
514
|
|
|
515
|
+
# Assumption Day.
|
|
411
516
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
412
517
|
|
|
518
|
+
# All Saints' Day.
|
|
413
519
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
414
520
|
|
|
521
|
+
# Immaculate Conception.
|
|
415
522
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
416
523
|
|
|
524
|
+
# Saint Stephen's Day.
|
|
417
525
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
418
526
|
|
|
419
527
|
def _populate_subdiv_so_public_holidays(self):
|
|
528
|
+
# Good Friday.
|
|
420
529
|
self._add_good_friday(tr("Karfreitag"))
|
|
421
530
|
|
|
422
531
|
def _populate_subdiv_so_half_day_holidays(self):
|
|
532
|
+
# Labor Day.
|
|
423
533
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
424
534
|
|
|
425
535
|
def _populate_subdiv_so_optional_holidays(self):
|
|
536
|
+
# Saint Berchtold's Day.
|
|
426
537
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
427
538
|
|
|
428
539
|
def _populate_subdiv_tg_public_holidays(self):
|
|
540
|
+
# Saint Berchtold's Day.
|
|
429
541
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
430
542
|
|
|
543
|
+
# Labor Day.
|
|
431
544
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
432
545
|
|
|
546
|
+
# Good Friday.
|
|
433
547
|
self._add_good_friday(tr("Karfreitag"))
|
|
434
548
|
|
|
549
|
+
# Easter Monday.
|
|
435
550
|
self._add_easter_monday(tr("Ostermontag"))
|
|
436
551
|
|
|
552
|
+
# Whit Monday.
|
|
437
553
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
438
554
|
|
|
555
|
+
# Saint Stephen's Day.
|
|
439
556
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
440
557
|
|
|
441
558
|
def _populate_subdiv_ti_public_holidays(self):
|
|
559
|
+
# Epiphany.
|
|
442
560
|
self._add_epiphany_day(tr("Heilige Drei Könige"))
|
|
443
561
|
|
|
562
|
+
# Saint Joseph's Day.
|
|
444
563
|
self._add_saint_josephs_day(tr("Josefstag"))
|
|
445
564
|
|
|
565
|
+
# Easter Monday.
|
|
446
566
|
self._add_easter_monday(tr("Ostermontag"))
|
|
447
567
|
|
|
568
|
+
# Labor Day.
|
|
448
569
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
449
570
|
|
|
571
|
+
# Whit Monday.
|
|
450
572
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
451
573
|
|
|
574
|
+
# Corpus Christi.
|
|
452
575
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
453
576
|
|
|
454
577
|
# Saints Peter and Paul.
|
|
455
578
|
self._add_saints_peter_and_paul_day(tr("Peter und Paul"))
|
|
456
579
|
|
|
580
|
+
# Assumption Day.
|
|
457
581
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
458
582
|
|
|
583
|
+
# All Saints' Day.
|
|
459
584
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
460
585
|
|
|
586
|
+
# Immaculate Conception.
|
|
461
587
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
462
588
|
|
|
589
|
+
# Saint Stephen's Day.
|
|
463
590
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
464
591
|
|
|
465
592
|
def _populate_subdiv_ur_public_holidays(self):
|
|
593
|
+
# Epiphany.
|
|
466
594
|
self._add_epiphany_day(tr("Heilige Drei Könige"))
|
|
467
595
|
|
|
596
|
+
# Saint Joseph's Day.
|
|
468
597
|
self._add_saint_josephs_day(tr("Josefstag"))
|
|
469
598
|
|
|
599
|
+
# Good Friday.
|
|
470
600
|
self._add_good_friday(tr("Karfreitag"))
|
|
471
601
|
|
|
602
|
+
# Easter Monday.
|
|
472
603
|
self._add_easter_monday(tr("Ostermontag"))
|
|
473
604
|
|
|
605
|
+
# Whit Monday.
|
|
474
606
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
475
607
|
|
|
608
|
+
# Corpus Christi.
|
|
476
609
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
477
610
|
|
|
611
|
+
# Assumption Day.
|
|
478
612
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
479
613
|
|
|
614
|
+
# All Saints' Day.
|
|
480
615
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
481
616
|
|
|
617
|
+
# Immaculate Conception.
|
|
482
618
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
483
619
|
|
|
484
620
|
self._add_observed(
|
|
485
|
-
|
|
621
|
+
# Saint Stephen's Day.
|
|
622
|
+
self._add_christmas_day_two(tr("Stephanstag")),
|
|
623
|
+
rule=TUE_TO_NONE + SAT_TO_NONE,
|
|
486
624
|
)
|
|
487
625
|
|
|
488
626
|
def _populate_subdiv_vd_public_holidays(self):
|
|
627
|
+
# Saint Berchtold's Day.
|
|
489
628
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
490
629
|
|
|
630
|
+
# Good Friday.
|
|
491
631
|
self._add_good_friday(tr("Karfreitag"))
|
|
492
632
|
|
|
633
|
+
# Easter Monday.
|
|
493
634
|
self._add_easter_monday(tr("Ostermontag"))
|
|
494
635
|
|
|
636
|
+
# Whit Monday.
|
|
495
637
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
496
638
|
|
|
497
639
|
# Prayer Monday.
|
|
498
640
|
self._add_holiday_1_day_past_3rd_sun_of_sep(tr("Bettagsmontag"))
|
|
499
641
|
|
|
500
642
|
def _populate_subdiv_vs_public_holidays(self):
|
|
643
|
+
# Saint Joseph's Day.
|
|
501
644
|
self._add_saint_josephs_day(tr("Josefstag"))
|
|
502
645
|
|
|
646
|
+
# Corpus Christi.
|
|
503
647
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
504
648
|
|
|
649
|
+
# Assumption Day.
|
|
505
650
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
506
651
|
|
|
652
|
+
# All Saints' Day.
|
|
507
653
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
508
654
|
|
|
655
|
+
# Immaculate Conception.
|
|
509
656
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
510
657
|
|
|
511
658
|
def _populate_subdiv_vs_optional_holidays(self):
|
|
659
|
+
# Saint Berchtold's Day.
|
|
512
660
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
513
661
|
|
|
662
|
+
# Easter Monday.
|
|
514
663
|
self._add_easter_monday(tr("Ostermontag"))
|
|
515
664
|
|
|
665
|
+
# Whit Monday.
|
|
516
666
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
517
667
|
|
|
668
|
+
# Saint Stephen's Day.
|
|
518
669
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
519
670
|
|
|
520
671
|
def _populate_subdiv_zg_public_holidays(self):
|
|
672
|
+
# Good Friday.
|
|
521
673
|
self._add_good_friday(tr("Karfreitag"))
|
|
522
674
|
|
|
675
|
+
# Corpus Christi.
|
|
523
676
|
self._add_corpus_christi_day(tr("Fronleichnam"))
|
|
524
677
|
|
|
678
|
+
# Assumption Day.
|
|
525
679
|
self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
|
|
526
680
|
|
|
681
|
+
# All Saints' Day.
|
|
527
682
|
self._add_all_saints_day(tr("Allerheiligen"))
|
|
528
683
|
|
|
684
|
+
# Immaculate Conception.
|
|
529
685
|
self._add_immaculate_conception_day(tr("Mariä Empfängnis"))
|
|
530
686
|
|
|
531
687
|
def _populate_subdiv_zg_optional_holidays(self):
|
|
688
|
+
# Saint Berchtold's Day.
|
|
532
689
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
533
690
|
|
|
691
|
+
# Easter Monday.
|
|
534
692
|
self._add_easter_monday(tr("Ostermontag"))
|
|
535
693
|
|
|
694
|
+
# Whit Monday.
|
|
536
695
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
537
696
|
|
|
697
|
+
# Saint Stephen's Day.
|
|
538
698
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
539
699
|
|
|
540
700
|
def _populate_subdiv_zh_public_holidays(self):
|
|
701
|
+
# Saint Berchtold's Day.
|
|
541
702
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
542
703
|
|
|
704
|
+
# Good Friday.
|
|
543
705
|
self._add_good_friday(tr("Karfreitag"))
|
|
544
706
|
|
|
707
|
+
# Easter Monday.
|
|
545
708
|
self._add_easter_monday(tr("Ostermontag"))
|
|
546
709
|
|
|
710
|
+
# Labor Day.
|
|
547
711
|
self._add_labor_day(tr("Tag der Arbeit"))
|
|
548
712
|
|
|
713
|
+
# Whit Monday.
|
|
549
714
|
self._add_whit_monday(tr("Pfingstmontag"))
|
|
550
715
|
|
|
716
|
+
# Saint Stephen's Day.
|
|
551
717
|
self._add_christmas_day_two(tr("Stephanstag"))
|
|
552
718
|
|
|
553
719
|
|
holidays/countries/taiwan.py
CHANGED
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
14
15
|
from gettext import gettext as tr
|
|
15
|
-
from typing import Optional
|
|
16
|
+
from typing import Optional, TYPE_CHECKING
|
|
16
17
|
|
|
17
18
|
from holidays.calendars.gregorian import (
|
|
18
19
|
JAN,
|
|
@@ -31,6 +32,7 @@ from holidays.calendars.gregorian import (
|
|
|
31
32
|
FRI,
|
|
32
33
|
SAT,
|
|
33
34
|
SUN,
|
|
35
|
+
_get_nth_weekday_of_month,
|
|
34
36
|
)
|
|
35
37
|
from holidays.constants import GOVERNMENT, OPTIONAL, PUBLIC, SCHOOL, WORKDAY
|
|
36
38
|
from holidays.groups import ChineseCalendarHolidays, InternationalHolidays, StaticHolidays
|
|
@@ -42,6 +44,9 @@ from holidays.observed_holiday_base import (
|
|
|
42
44
|
SAT_SUN_TO_NEXT_WORKDAY,
|
|
43
45
|
)
|
|
44
46
|
|
|
47
|
+
if TYPE_CHECKING:
|
|
48
|
+
from datetime import date
|
|
49
|
+
|
|
45
50
|
CHILDRENS_DAY_RULE = ObservedRule({MON: +1, TUE: -1, WED: -1, THU: +1, FRI: -1, SAT: -1, SUN: -2})
|
|
46
51
|
|
|
47
52
|
|
|
@@ -72,8 +77,12 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
|
|
|
72
77
|
"""
|
|
73
78
|
|
|
74
79
|
country = "TW"
|
|
80
|
+
# %s (estimated).
|
|
81
|
+
estimated_label = tr("%s(推定)")
|
|
82
|
+
# %s (observed, estimated).
|
|
83
|
+
observed_estimated_label = tr("%s(補假,推定)")
|
|
75
84
|
# %s (observed).
|
|
76
|
-
observed_label = tr("%s
|
|
85
|
+
observed_label = tr("%s(補假)")
|
|
77
86
|
default_language = "zh_TW"
|
|
78
87
|
supported_categories = (GOVERNMENT, OPTIONAL, PUBLIC, SCHOOL, WORKDAY)
|
|
79
88
|
supported_languages = ("en_US", "th", "zh_CN", "zh_TW")
|
|
@@ -87,6 +96,21 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
|
|
|
87
96
|
kwargs.setdefault("observed_rule", SAT_TO_PREV_WORKDAY + SUN_TO_NEXT_WORKDAY)
|
|
88
97
|
super().__init__(*args, **kwargs)
|
|
89
98
|
|
|
99
|
+
def _get_weekend(self, dt: date) -> set[int]:
|
|
100
|
+
# 1998–2000: Sundays as well as the 2nd & 4th Saturday of each month.
|
|
101
|
+
if dt.year <= 2000:
|
|
102
|
+
weekend = {SUN}
|
|
103
|
+
if dt.weekday() == SAT:
|
|
104
|
+
if dt in {
|
|
105
|
+
_get_nth_weekday_of_month(2, SAT, dt.month, dt.year), # 2nd Saturday.
|
|
106
|
+
_get_nth_weekday_of_month(4, SAT, dt.month, dt.year), # 4th Saturday.
|
|
107
|
+
}:
|
|
108
|
+
weekend.add(SAT)
|
|
109
|
+
else:
|
|
110
|
+
weekend = {SAT, SUN}
|
|
111
|
+
|
|
112
|
+
return weekend
|
|
113
|
+
|
|
90
114
|
def _populate_observed(
|
|
91
115
|
self, dts: set[date], rule: Optional[ObservedRule] = None, since: int = 2015
|
|
92
116
|
) -> None:
|
holidays/countries/tajikistan.py
CHANGED
|
@@ -107,7 +107,7 @@ class TJK(Tajikistan):
|
|
|
107
107
|
|
|
108
108
|
|
|
109
109
|
class TajikistanIslamicHolidays(_CustomIslamicHolidays):
|
|
110
|
-
# https://www.timeanddate.com/holidays/tajikistan/eid-al-fitr
|
|
110
|
+
# https://web.archive.org/web/20240911001624/https://www.timeanddate.com/holidays/tajikistan/eid-al-fitr
|
|
111
111
|
EID_AL_FITR_DATES_CONFIRMED_YEARS = (1992, 2025)
|
|
112
112
|
EID_AL_FITR_DATES = {
|
|
113
113
|
2023: (APR, 22),
|
holidays/countries/tanzania.py
CHANGED
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
14
15
|
from gettext import gettext as tr
|
|
16
|
+
from typing import TYPE_CHECKING
|
|
15
17
|
|
|
16
18
|
from holidays.calendars import _CustomIslamicHolidays
|
|
17
19
|
from holidays.calendars.gregorian import (
|
|
@@ -43,6 +45,9 @@ from holidays.observed_holiday_base import (
|
|
|
43
45
|
SAT_SUN_TO_NEXT_MON_TUE,
|
|
44
46
|
)
|
|
45
47
|
|
|
48
|
+
if TYPE_CHECKING:
|
|
49
|
+
from datetime import date
|
|
50
|
+
|
|
46
51
|
|
|
47
52
|
class Tanzania(
|
|
48
53
|
ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays, StaticHolidays
|
holidays/countries/thailand.py
CHANGED
|
@@ -26,6 +26,8 @@ from holidays.calendars.gregorian import (
|
|
|
26
26
|
OCT,
|
|
27
27
|
NOV,
|
|
28
28
|
DEC,
|
|
29
|
+
SAT,
|
|
30
|
+
SUN,
|
|
29
31
|
_timedelta,
|
|
30
32
|
)
|
|
31
33
|
from holidays.constants import ARMED_FORCES, BANK, GOVERNMENT, PUBLIC, SCHOOL, WORKDAY
|
|
@@ -199,6 +201,25 @@ class Thailand(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiC
|
|
|
199
201
|
def _is_observed(self, dt: date) -> bool:
|
|
200
202
|
return 1961 <= self._year <= 1973 or 1995 <= self._year <= 1997 or self._year >= 2001
|
|
201
203
|
|
|
204
|
+
def _get_weekend(self, dt: date) -> set[int]:
|
|
205
|
+
if dt >= date(1959, MAR, 1):
|
|
206
|
+
# SAT & SUN (Full Day).
|
|
207
|
+
weekend = {SAT, SUN}
|
|
208
|
+
elif date(1956, OCT, 1) <= dt <= date(1957, OCT, 6):
|
|
209
|
+
# Buddhist Sabbath Days and Sun (Full Day).
|
|
210
|
+
weekend = {SUN}
|
|
211
|
+
buddhist_sabbath_dates = self._thai_calendar.buddhist_sabbath_dates(dt.year)
|
|
212
|
+
if dt in buddhist_sabbath_dates:
|
|
213
|
+
weekend.add(dt.weekday())
|
|
214
|
+
elif dt >= date(1939, FEB, 28):
|
|
215
|
+
# SAT from 12:00 onwards and SUN (Full Day).
|
|
216
|
+
weekend = {SUN}
|
|
217
|
+
else:
|
|
218
|
+
# Prior to this, there was no concept of weekend.
|
|
219
|
+
weekend = set()
|
|
220
|
+
|
|
221
|
+
return weekend
|
|
222
|
+
|
|
202
223
|
def _populate_public_holidays(self):
|
|
203
224
|
# Fixed Date Holidays
|
|
204
225
|
|