holidays 0.85__py3-none-any.whl → 0.87__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/chinese.py +44 -6
- holidays/calendars/hindu.py +85 -1
- holidays/countries/bangladesh.py +13 -9
- holidays/countries/bulgaria.py +208 -50
- holidays/countries/estonia.py +55 -9
- holidays/countries/germany.py +75 -74
- holidays/countries/gibraltar.py +1 -1
- holidays/countries/india.py +5 -3
- holidays/countries/italy.py +489 -167
- holidays/countries/mongolia.py +1 -5
- holidays/countries/nepal.py +46 -41
- holidays/countries/russia.py +1 -2
- holidays/countries/sweden.py +102 -32
- holidays/countries/taiwan.py +3 -6
- holidays/countries/thailand.py +5 -5
- holidays/countries/united_states.py +55 -46
- holidays/financial/ny_stock_exchange.py +591 -89
- holidays/groups/chinese.py +11 -18
- holidays/groups/hindu.py +24 -0
- holidays/holiday_base.py +51 -23
- holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/bn/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/it_IT/LC_MESSAGES/IT.mo +0 -0
- holidays/locale/ne/LC_MESSAGES/NP.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TL.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/VA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
- holidays/utils.py +10 -1
- holidays/version.py +1 -1
- {holidays-0.85.dist-info → holidays-0.87.dist-info}/METADATA +18 -11
- {holidays-0.85.dist-info → holidays-0.87.dist-info}/RECORD +63 -56
- {holidays-0.85.dist-info → holidays-0.87.dist-info}/licenses/CONTRIBUTORS +4 -0
- {holidays-0.85.dist-info → holidays-0.87.dist-info}/WHEEL +0 -0
- {holidays-0.85.dist-info → holidays-0.87.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.85.dist-info → holidays-0.87.dist-info}/top_level.txt +0 -0
holidays/countries/mongolia.py
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
from gettext import gettext as tr
|
|
14
14
|
|
|
15
|
-
from holidays.calendars.gregorian import _timedelta
|
|
16
15
|
from holidays.constants import PUBLIC, WORKDAY
|
|
17
16
|
from holidays.groups import InternationalHolidays, MongolianCalendarHolidays
|
|
18
17
|
from holidays.holiday_base import HolidayBase
|
|
@@ -160,10 +159,7 @@ class Mongolia(HolidayBase, InternationalHolidays, MongolianCalendarHolidays):
|
|
|
160
159
|
|
|
161
160
|
if self._year >= 2007:
|
|
162
161
|
# New Harvest Days.
|
|
163
|
-
|
|
164
|
-
dt = self._add_holiday_sep_5(name)
|
|
165
|
-
for delta in range(1, 46):
|
|
166
|
-
self._add_holiday(name, _timedelta(dt, delta))
|
|
162
|
+
self._add_multiday_holiday(self._add_holiday_sep_5(tr("Шинэ ургацын өдрүүд")), 45)
|
|
167
163
|
|
|
168
164
|
# Memorial Day of Political Victims.
|
|
169
165
|
self._add_holiday_sep_10(tr("Улс төрийн хэлмэгдэгсдийн дурсгалын өдөр"))
|
holidays/countries/nepal.py
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
13
15
|
from holidays.calendars import _CustomIslamicHolidays, _CustomHinduHolidays
|
|
14
16
|
from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, AUG, SEP, OCT, NOV
|
|
15
17
|
from holidays.constants import PUBLIC, WORKDAY
|
|
@@ -47,10 +49,12 @@ class Nepal(
|
|
|
47
49
|
"""
|
|
48
50
|
|
|
49
51
|
country = "NP"
|
|
52
|
+
default_language = "ne"
|
|
50
53
|
# %s (estimated).
|
|
51
|
-
estimated_label = "%s (
|
|
54
|
+
estimated_label = tr("%s (अनुमानित)")
|
|
52
55
|
start_year = 2010
|
|
53
56
|
supported_categories = (PUBLIC, WORKDAY)
|
|
57
|
+
supported_languages = ("en_US", "ne")
|
|
54
58
|
|
|
55
59
|
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
56
60
|
"""
|
|
@@ -105,7 +109,7 @@ class Nepal(
|
|
|
105
109
|
}
|
|
106
110
|
if dt := martyrs_day_dates.get(self._year):
|
|
107
111
|
# Martyr's Day.
|
|
108
|
-
self._add_holiday("
|
|
112
|
+
self._add_holiday(tr("शहीद दिवस"), dt)
|
|
109
113
|
|
|
110
114
|
democracy_day_dates = {
|
|
111
115
|
2010: (FEB, 19),
|
|
@@ -135,7 +139,7 @@ class Nepal(
|
|
|
135
139
|
}
|
|
136
140
|
if dt := democracy_day_dates.get(self._year):
|
|
137
141
|
# National Democracy Day.
|
|
138
|
-
self._add_holiday("
|
|
142
|
+
self._add_holiday(tr("राष्ट्रिय प्रजातन्त्र दिवस"), dt)
|
|
139
143
|
|
|
140
144
|
republic_day_dates = {
|
|
141
145
|
2010: (MAY, 29),
|
|
@@ -164,39 +168,40 @@ class Nepal(
|
|
|
164
168
|
}
|
|
165
169
|
if dt := republic_day_dates.get(self._year):
|
|
166
170
|
# Established in 2009.
|
|
171
|
+
|
|
167
172
|
# Republic Day.
|
|
168
|
-
self._add_holiday("
|
|
173
|
+
self._add_holiday(tr("गणतन्त्र दिवस"), dt)
|
|
169
174
|
|
|
170
175
|
# Hindu Holidays.
|
|
171
176
|
|
|
172
177
|
# Ram Navami.
|
|
173
|
-
self._add_ram_navami("
|
|
178
|
+
self._add_ram_navami(tr("राम नवमी"))
|
|
174
179
|
|
|
175
180
|
# Janai Poornima.
|
|
176
|
-
self._add_raksha_bandhan("
|
|
181
|
+
self._add_raksha_bandhan(tr("जनै पूर्णिमा"))
|
|
177
182
|
|
|
178
183
|
# Shree Krishna Janmashtami.
|
|
179
|
-
self._add_janmashtami("
|
|
184
|
+
self._add_janmashtami(tr("श्रीकृष्ण जन्माष्टमी"))
|
|
180
185
|
|
|
181
186
|
# Ghatasthapana.
|
|
182
|
-
self._add_sharad_navratri("
|
|
187
|
+
self._add_sharad_navratri(tr("घटस्थापना"))
|
|
183
188
|
|
|
184
189
|
# Duwadashi (Dashain).
|
|
185
|
-
self._add_papankusha_duwadashi("
|
|
190
|
+
self._add_papankusha_duwadashi(tr("दुवादशी (दशैं)"))
|
|
186
191
|
|
|
187
192
|
def _populate_public_holidays(self):
|
|
188
193
|
if self._year >= 2023:
|
|
189
194
|
# Prithvi Jayanti.
|
|
190
|
-
self._add_holiday_jan_11("
|
|
195
|
+
self._add_holiday_jan_11(tr("पृथ्वी जयन्ती"))
|
|
191
196
|
|
|
192
197
|
# International Women's Day.
|
|
193
|
-
self._add_womens_day("
|
|
198
|
+
self._add_womens_day(tr("अन्तर्राष्ट्रिय महिला दिवस"))
|
|
194
199
|
|
|
195
|
-
#
|
|
196
|
-
self._add_vaisakhi("
|
|
200
|
+
# Nepali New Year.
|
|
201
|
+
self._add_vaisakhi(tr("नेपाली नयाँ वर्ष"))
|
|
197
202
|
|
|
198
|
-
# International
|
|
199
|
-
self._add_labor_day("
|
|
203
|
+
# International Labor Day.
|
|
204
|
+
self._add_labor_day(tr("अन्तर्राष्ट्रिय श्रम दिवस"))
|
|
200
205
|
|
|
201
206
|
constitution_day_dates = {
|
|
202
207
|
2016: (SEP, 19),
|
|
@@ -219,77 +224,77 @@ class Nepal(
|
|
|
219
224
|
}
|
|
220
225
|
if dt := constitution_day_dates.get(self._year):
|
|
221
226
|
# Constitution Day.
|
|
222
|
-
self._add_holiday("
|
|
227
|
+
self._add_holiday(tr("संविधान दिवस"), dt)
|
|
223
228
|
|
|
224
229
|
# Christmas Day.
|
|
225
|
-
self._add_christmas_day("
|
|
230
|
+
self._add_christmas_day(tr("क्रिसमसको दिन"))
|
|
226
231
|
|
|
227
232
|
# Hindu holidays.
|
|
228
233
|
|
|
229
234
|
# Maghe Sankranti.
|
|
230
|
-
self._add_makar_sankranti("
|
|
235
|
+
self._add_makar_sankranti(tr("माघे संक्रान्ति"))
|
|
231
236
|
|
|
232
237
|
# Sonam Lhochhar.
|
|
233
|
-
self._add_sonam_losar("
|
|
238
|
+
self._add_sonam_losar(tr("सोनम ल्होछार"))
|
|
234
239
|
|
|
235
240
|
# Maha Shivaratri.
|
|
236
|
-
self._add_maha_shivaratri("
|
|
241
|
+
self._add_maha_shivaratri(tr("महाशिवरात्रि"))
|
|
237
242
|
|
|
238
243
|
# Gyalpo Lhosar.
|
|
239
|
-
self._add_gyalpo_losar("
|
|
244
|
+
self._add_gyalpo_losar(tr("ग्याल्पो ल्होसार"))
|
|
240
245
|
|
|
241
246
|
# Fagu Poornima.
|
|
242
|
-
self._add_nepal_holi("
|
|
247
|
+
self._add_nepal_holi(tr("फागुपुर्णिमा"))
|
|
243
248
|
|
|
244
249
|
# Fagu Poornima (Terai).
|
|
245
|
-
self._add_holi("
|
|
250
|
+
self._add_holi(tr("फागुपूर्णिमा (तराई)"))
|
|
246
251
|
|
|
247
252
|
# Buddha Jayanti.
|
|
248
|
-
self._add_buddha_purnima("
|
|
253
|
+
self._add_buddha_purnima(tr("बुद्ध जयन्ती"))
|
|
249
254
|
|
|
250
255
|
# Fulpati.
|
|
251
|
-
self._add_maha_saptami("
|
|
256
|
+
self._add_maha_saptami(tr("फुलपाती"))
|
|
252
257
|
|
|
253
258
|
# Maha Ashtami.
|
|
254
|
-
self._add_maha_ashtami("
|
|
259
|
+
self._add_maha_ashtami(tr("महा अष्टमी"))
|
|
255
260
|
|
|
256
261
|
# Maha Navami.
|
|
257
|
-
self._add_maha_navami("
|
|
262
|
+
self._add_maha_navami(tr("महा नवमी"))
|
|
258
263
|
|
|
259
264
|
# Bijaya Dashami.
|
|
260
|
-
self._add_dussehra("
|
|
265
|
+
self._add_dussehra(tr("विजया दशमी"))
|
|
261
266
|
|
|
262
267
|
# Ekadashi (Dashain).
|
|
263
|
-
self._add_papankusha_ekadashi("
|
|
268
|
+
self._add_papankusha_ekadashi(tr("एकादशी (दशैं)"))
|
|
264
269
|
|
|
265
270
|
# Laxmi Pooja.
|
|
266
|
-
self._add_diwali_india("
|
|
271
|
+
self._add_diwali_india(tr("लक्ष्मी पुजा"))
|
|
267
272
|
|
|
268
273
|
# Gai Tihar.
|
|
269
|
-
self._add_gau_krida("
|
|
274
|
+
self._add_gau_krida(tr("गाई तिहार"))
|
|
270
275
|
|
|
271
276
|
# Gobardhan Pooja.
|
|
272
|
-
self._add_govardhan_puja("
|
|
277
|
+
self._add_govardhan_puja(tr("गोवर्धन पूजा"))
|
|
273
278
|
|
|
274
279
|
# Mha Pooja.
|
|
275
|
-
self._add_govardhan_puja("
|
|
280
|
+
self._add_govardhan_puja(tr("म्ह पूजा"))
|
|
276
281
|
|
|
277
282
|
# Bhai Tika.
|
|
278
|
-
self._add_bhai_dooj("
|
|
283
|
+
self._add_bhai_dooj(tr("भाइटीका"))
|
|
279
284
|
|
|
280
285
|
# Chhath Parva.
|
|
281
|
-
self._add_chhath_puja("
|
|
286
|
+
self._add_chhath_puja(tr("छठ पर्व"))
|
|
282
287
|
|
|
283
288
|
# Tamu Lhochhar.
|
|
284
|
-
self._add_tamu_losar("
|
|
289
|
+
self._add_tamu_losar(tr("तमु ल्हाेसार"))
|
|
285
290
|
|
|
286
291
|
# Islamic holidays.
|
|
287
292
|
|
|
288
293
|
# Eid al-Fitr.
|
|
289
|
-
self._add_eid_al_fitr_day("
|
|
294
|
+
self._add_eid_al_fitr_day(tr("इद उल फित्र"))
|
|
290
295
|
|
|
291
296
|
# Eid al-Adha.
|
|
292
|
-
self._add_eid_al_adha_day("
|
|
297
|
+
self._add_eid_al_adha_day(tr("बकरीद"))
|
|
293
298
|
|
|
294
299
|
# Removed by MoHA between 2019-2020.
|
|
295
300
|
self._add_non_continuous_holidays()
|
|
@@ -398,10 +403,10 @@ class NepalStaticHolidays:
|
|
|
398
403
|
"""
|
|
399
404
|
|
|
400
405
|
# Day of National Mourning.
|
|
401
|
-
name_day_of_national_mourning = "
|
|
406
|
+
name_day_of_national_mourning = tr("राष्ट्रिय शोक दिवस")
|
|
402
407
|
|
|
403
408
|
# Tihar Holiday.
|
|
404
|
-
name_tihar_holiday = "
|
|
409
|
+
name_tihar_holiday = tr("तिहार बिदा")
|
|
405
410
|
|
|
406
411
|
special_public_holidays = {
|
|
407
412
|
2011: (MAR, 6, name_day_of_national_mourning),
|
|
@@ -411,7 +416,7 @@ class NepalStaticHolidays:
|
|
|
411
416
|
2023: (
|
|
412
417
|
(JAN, 16, name_day_of_national_mourning),
|
|
413
418
|
# People War's Day.
|
|
414
|
-
(FEB, 13, "
|
|
419
|
+
(FEB, 13, tr("जनयुद्ध दिवस")),
|
|
415
420
|
(SEP, 14, name_day_of_national_mourning),
|
|
416
421
|
(NOV, 16, name_tihar_holiday),
|
|
417
422
|
),
|
holidays/countries/russia.py
CHANGED
|
@@ -47,8 +47,7 @@ class Russia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
|
|
|
47
47
|
else:
|
|
48
48
|
# New Year Holidays.
|
|
49
49
|
name = tr("Новогодние каникулы")
|
|
50
|
-
|
|
51
|
-
self._add_holiday(name, JAN, day)
|
|
50
|
+
self._add_multiday_holiday(self._add_new_years_day(name), 4)
|
|
52
51
|
if self._year >= 2013:
|
|
53
52
|
self._add_holiday_jan_6(name)
|
|
54
53
|
self._add_holiday_jan_8(name)
|
holidays/countries/sweden.py
CHANGED
|
@@ -10,9 +10,17 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from datetime import date
|
|
13
14
|
from gettext import gettext as tr
|
|
14
15
|
|
|
15
|
-
from holidays.calendars.gregorian import
|
|
16
|
+
from holidays.calendars.gregorian import (
|
|
17
|
+
MAR,
|
|
18
|
+
SUN,
|
|
19
|
+
_get_all_sundays,
|
|
20
|
+
_get_nth_weekday_from,
|
|
21
|
+
_timedelta,
|
|
22
|
+
)
|
|
23
|
+
from holidays.constants import BANK, OPTIONAL, PUBLIC
|
|
16
24
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
17
25
|
from holidays.holiday_base import HolidayBase
|
|
18
26
|
|
|
@@ -22,21 +30,25 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
22
30
|
|
|
23
31
|
References:
|
|
24
32
|
* <https://sv.wikipedia.org/wiki/Helgdagar_i_Sverige>
|
|
25
|
-
* <https://
|
|
33
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_Sweden>
|
|
34
|
+
* [Act 1952:48](https://web.archive.org/web/20250518071409/https://blogs.loc.gov/law/2023/06/midsommar-becomes-weekend-holiday-in-sweden-in-1953-pic-of-the-week/)
|
|
35
|
+
* [Act 1989:253](https://web.archive.org/web/20250414065223/https://www.riksdagen.se/sv/dokument-lagar/dokument/svensk-forfattningssamling/lag-1989253-om-allmanna-helgdagar_sfs-1989-253)
|
|
26
36
|
* <https://sv.wikipedia.org/wiki/Första_maj>
|
|
27
37
|
* <https://sv.wikipedia.org/wiki/Sveriges_nationaldag>
|
|
28
38
|
* <https://sv.wikipedia.org/wiki/Midsommarafton>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Note that holidays falling on a sunday is "lost", it will not be moved
|
|
32
|
-
to another day to make up for the collision.
|
|
39
|
+
* [Bank Holidays 2025](https://web.archive.org/web/20250811112642/https://www.riksbank.se/sv/press-och-publicerat/kalender/helgdagar-2025/)
|
|
33
40
|
|
|
34
41
|
In Sweden, ALL sundays are considered a holiday.
|
|
35
42
|
Initialize this class with `include_sundays=False` to not include sundays as a holiday.
|
|
36
43
|
"""
|
|
37
44
|
|
|
45
|
+
# %s (from 2pm).
|
|
46
|
+
begin_time_label = tr("%s (från kl. 14.00)")
|
|
38
47
|
country = "SE"
|
|
39
48
|
default_language = "sv"
|
|
49
|
+
# Act 1952:48.
|
|
50
|
+
start_year = 1953
|
|
51
|
+
supported_categories = (BANK, OPTIONAL, PUBLIC)
|
|
40
52
|
supported_languages = ("en_US", "sv", "th", "uk")
|
|
41
53
|
|
|
42
54
|
def __init__(self, *args, include_sundays: bool = True, **kwargs):
|
|
@@ -57,9 +69,18 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
57
69
|
# Epiphany.
|
|
58
70
|
self._add_epiphany_day(tr("Trettondedag jul"))
|
|
59
71
|
|
|
60
|
-
if self._year <=
|
|
61
|
-
# Feast of the Annunciation
|
|
62
|
-
|
|
72
|
+
if self._year <= 1989:
|
|
73
|
+
# According to Act 1952:48, Feast of the Annunciation is
|
|
74
|
+
# "on the Sunday between March 22 and 28 or, if this Sunday is Palm Sunday
|
|
75
|
+
# or Easter Sunday, on the Sunday before Palm Sunday".
|
|
76
|
+
dt = _get_nth_weekday_from(1, SUN, date(self._year, MAR, 22))
|
|
77
|
+
self._add_holiday(
|
|
78
|
+
# Feast of the Annunciation.
|
|
79
|
+
tr("Marie bebådelsedag"),
|
|
80
|
+
_timedelta(self._easter_sunday, -14)
|
|
81
|
+
if dt == _timedelta(self._easter_sunday, -7) or dt == self._easter_sunday
|
|
82
|
+
else dt,
|
|
83
|
+
)
|
|
63
84
|
|
|
64
85
|
# Good Friday.
|
|
65
86
|
self._add_good_friday(tr("Långfredagen"))
|
|
@@ -70,16 +91,15 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
70
91
|
# Easter Monday.
|
|
71
92
|
self._add_easter_monday(tr("Annandag påsk"))
|
|
72
93
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
self._add_labor_day(tr("Första maj"))
|
|
94
|
+
# May Day.
|
|
95
|
+
self._add_labor_day(tr("Första maj"))
|
|
76
96
|
|
|
77
97
|
# Ascension Day.
|
|
78
98
|
self._add_ascension_thursday(tr("Kristi himmelsfärdsdag"))
|
|
79
99
|
|
|
80
100
|
if self._year >= 2005:
|
|
81
|
-
# National Day
|
|
82
|
-
self._add_holiday_jun_6(tr("
|
|
101
|
+
# National Day.
|
|
102
|
+
self._add_holiday_jun_6(tr("Nationaldagen"))
|
|
83
103
|
|
|
84
104
|
# Whit Sunday.
|
|
85
105
|
self._add_whit_sunday(tr("Pingstdagen"))
|
|
@@ -88,23 +108,11 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
88
108
|
# Whit Monday.
|
|
89
109
|
self._add_whit_monday(tr("Annandag pingst"))
|
|
90
110
|
|
|
91
|
-
# Midsummer Eve.
|
|
92
|
-
name = tr("Midsommarafton")
|
|
93
|
-
dt = (
|
|
94
|
-
self._add_holiday_1st_fri_from_jun_19(name)
|
|
95
|
-
if self._year >= 1953
|
|
96
|
-
else self._add_holiday_jun_23(name)
|
|
97
|
-
)
|
|
98
|
-
|
|
99
111
|
# Midsummer Day.
|
|
100
|
-
self.
|
|
112
|
+
self._add_holiday_1st_sat_from_jun_20(tr("Midsommardagen"))
|
|
101
113
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
self._add_holiday_1st_sat_from_oct_31(tr("Alla helgons dag"))
|
|
105
|
-
|
|
106
|
-
# Christmas Eve.
|
|
107
|
-
self._add_christmas_eve(tr("Julafton"))
|
|
114
|
+
# All Saints' Day.
|
|
115
|
+
self._add_holiday_1st_sat_from_oct_31(tr("Alla helgons dag"))
|
|
108
116
|
|
|
109
117
|
# Christmas Day.
|
|
110
118
|
self._add_christmas_day(tr("Juldagen"))
|
|
@@ -112,15 +120,77 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
112
120
|
# Second Day of Christmas.
|
|
113
121
|
self._add_christmas_day_two(tr("Annandag jul"))
|
|
114
122
|
|
|
115
|
-
# New Year's Eve.
|
|
116
|
-
self._add_new_years_eve(tr("Nyårsafton"))
|
|
117
|
-
|
|
118
123
|
# Optionally add all Sundays of the year.
|
|
119
124
|
if self.include_sundays:
|
|
120
125
|
for dt in _get_all_sundays(self._year):
|
|
121
126
|
# Sunday.
|
|
122
127
|
self._add_holiday(tr("Söndag"), dt)
|
|
123
128
|
|
|
129
|
+
def _populate_common(self):
|
|
130
|
+
"""Populate holidays that are both optional and bank holidays."""
|
|
131
|
+
|
|
132
|
+
# Twelfth Night.
|
|
133
|
+
self._add_holiday_jan_5(self.tr(self.begin_time_label) % self.tr("Trettondagsafton"))
|
|
134
|
+
|
|
135
|
+
# Maundy Thursday.
|
|
136
|
+
self._add_holy_thursday(self.tr(self.begin_time_label) % self.tr("Skärtorsdagen"))
|
|
137
|
+
|
|
138
|
+
# Walpurgis Night.
|
|
139
|
+
self._add_holiday_apr_30(self.tr(self.begin_time_label) % self.tr("Valborgsmässoafton"))
|
|
140
|
+
|
|
141
|
+
# Midsummer Eve.
|
|
142
|
+
self._add_holiday_1st_fri_from_jun_19(tr("Midsommarafton"))
|
|
143
|
+
|
|
144
|
+
self._add_holiday_1st_fri_from_oct_30(
|
|
145
|
+
# All Saints' Eve.
|
|
146
|
+
self.tr(self.begin_time_label) % self.tr("Allahelgonsafton")
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
# Christmas Eve.
|
|
150
|
+
self._add_christmas_eve(tr("Julafton"))
|
|
151
|
+
|
|
152
|
+
# New Year's Eve.
|
|
153
|
+
self._add_new_years_eve(tr("Nyårsafton"))
|
|
154
|
+
|
|
155
|
+
def _populate_bank_holidays(self):
|
|
156
|
+
self._populate_common()
|
|
157
|
+
|
|
158
|
+
self._add_holiday_38_days_past_easter(
|
|
159
|
+
# Day before Ascension Day.
|
|
160
|
+
self.tr(self.begin_time_label) % self.tr("Dag före Kristi himmelsfärdsdag")
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
self._add_holiday_1st_thu_from_jun_18(
|
|
164
|
+
# Day before Midsummer Eve.
|
|
165
|
+
self.tr(self.begin_time_label) % self.tr("Dag före Midsommarafton")
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
self._add_holiday_47_days_past_easter(
|
|
169
|
+
# Day before Whitsun Eve.
|
|
170
|
+
self.tr(self.begin_time_label) % self.tr("Dag före Pingstafton")
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
# Day before Christmas Eve.
|
|
174
|
+
self._add_holiday_dec_23(self.tr(self.begin_time_label) % self.tr("Dag före Julafton"))
|
|
175
|
+
|
|
176
|
+
# Day before New Year's Eve.
|
|
177
|
+
self._add_holiday_dec_30(self.tr(self.begin_time_label) % self.tr("Dag före Nyårsafton"))
|
|
178
|
+
|
|
179
|
+
def _populate_optional_holidays(self):
|
|
180
|
+
self._populate_common()
|
|
181
|
+
|
|
182
|
+
# Holy Saturday.
|
|
183
|
+
self._add_holy_saturday(tr("Påskafton"))
|
|
184
|
+
|
|
185
|
+
# Days between a holiday and a weekend are in Swedish called "klämdagar" (squeeze days).
|
|
186
|
+
# There is one permanent "klämdag" every year - Friday after Ascension Day.
|
|
187
|
+
|
|
188
|
+
# Squeeze day.
|
|
189
|
+
self._add_holiday_40_days_past_easter(tr("Klämdag"))
|
|
190
|
+
|
|
191
|
+
# Whitsun Eve.
|
|
192
|
+
self._add_holiday_48_days_past_easter(tr("Pingstafton"))
|
|
193
|
+
|
|
124
194
|
|
|
125
195
|
class SE(Sweden):
|
|
126
196
|
pass
|
holidays/countries/taiwan.py
CHANGED
|
@@ -32,7 +32,6 @@ from holidays.calendars.gregorian import (
|
|
|
32
32
|
FRI,
|
|
33
33
|
SAT,
|
|
34
34
|
SUN,
|
|
35
|
-
_get_nth_weekday_of_month,
|
|
36
35
|
)
|
|
37
36
|
from holidays.constants import GOVERNMENT, OPTIONAL, PUBLIC, SCHOOL, WORKDAY
|
|
38
37
|
from holidays.groups import ChineseCalendarHolidays, InternationalHolidays, StaticHolidays
|
|
@@ -101,10 +100,8 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
|
|
|
101
100
|
if dt.year <= 2000:
|
|
102
101
|
weekend = {SUN}
|
|
103
102
|
if dt.weekday() == SAT:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
_get_nth_weekday_of_month(4, SAT, dt.month, dt.year), # 4th Saturday.
|
|
107
|
-
}:
|
|
103
|
+
nth_saturday = (dt.day - 1) // 7 + 1 # Saturday number in the month.
|
|
104
|
+
if nth_saturday in {2, 4}:
|
|
108
105
|
weekend.add(SAT)
|
|
109
106
|
else:
|
|
110
107
|
weekend = {SAT, SUN}
|
|
@@ -348,7 +345,7 @@ class TaiwanStaticHolidays:
|
|
|
348
345
|
substituted_date_format = tr("%Y-%m-%d")
|
|
349
346
|
|
|
350
347
|
# Day off (substituted from %s).
|
|
351
|
-
substituted_label = tr("
|
|
348
|
+
substituted_label = tr("放假日(%s 補班)")
|
|
352
349
|
|
|
353
350
|
# Women's Day.
|
|
354
351
|
womens_day = tr("婦女節")
|
holidays/countries/thailand.py
CHANGED
|
@@ -322,11 +322,11 @@ class Thailand(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiC
|
|
|
322
322
|
if self._year <= 1937:
|
|
323
323
|
self._add_holiday_apr_3(name)
|
|
324
324
|
elif self._year <= 1925:
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
325
|
+
self._add_multiday_holiday(
|
|
326
|
+
# Songkran New Year Holidays.
|
|
327
|
+
self._add_holiday_mar_28(tr("พระราชพิธีตะรุษะสงกรานต์ แลนักขัตฤกษ์")),
|
|
328
|
+
18,
|
|
329
|
+
)
|
|
330
330
|
else:
|
|
331
331
|
dt = self._add_holiday_apr_13(name)
|
|
332
332
|
self._add_holiday_apr_14(name)
|
|
@@ -387,43 +387,45 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
|
|
|
387
387
|
self._add_holiday_3rd_mon_of_jan(tr("Martin Luther King Jr. Day"))
|
|
388
388
|
|
|
389
389
|
if self._year >= 1879 and self.subdiv not in {
|
|
390
|
-
"AK",
|
|
391
390
|
"AL",
|
|
392
391
|
"AR",
|
|
393
|
-
"AZ",
|
|
394
|
-
"CA",
|
|
395
|
-
"CO",
|
|
396
392
|
"DE",
|
|
397
393
|
"FL",
|
|
398
394
|
"GA",
|
|
399
|
-
"HI",
|
|
400
|
-
"ID",
|
|
401
395
|
"IN",
|
|
402
|
-
"MD",
|
|
403
|
-
"MN",
|
|
404
|
-
"MT",
|
|
405
|
-
"NJ",
|
|
406
396
|
"NM",
|
|
407
|
-
"OH",
|
|
408
|
-
"OK",
|
|
409
|
-
"OR",
|
|
410
|
-
"PA",
|
|
411
|
-
"PR",
|
|
412
|
-
"SC",
|
|
413
|
-
"TN",
|
|
414
|
-
"TX",
|
|
415
|
-
"UT",
|
|
416
|
-
"VA",
|
|
417
397
|
"VI",
|
|
418
|
-
"VT",
|
|
419
|
-
"WA",
|
|
420
|
-
"WV",
|
|
421
|
-
"WY",
|
|
422
398
|
}:
|
|
423
399
|
# Washington's Birthday.
|
|
424
400
|
name = tr("Washington's Birthday")
|
|
425
401
|
if self._year >= 1971:
|
|
426
|
-
self.
|
|
402
|
+
if self.subdiv not in {
|
|
403
|
+
"AK",
|
|
404
|
+
"AZ",
|
|
405
|
+
"CA",
|
|
406
|
+
"CO",
|
|
407
|
+
"HI",
|
|
408
|
+
"ID",
|
|
409
|
+
"MD",
|
|
410
|
+
"MN",
|
|
411
|
+
"MT",
|
|
412
|
+
"NJ",
|
|
413
|
+
"OH",
|
|
414
|
+
"OK",
|
|
415
|
+
"OR",
|
|
416
|
+
"PA",
|
|
417
|
+
"PR",
|
|
418
|
+
"SC",
|
|
419
|
+
"TN",
|
|
420
|
+
"TX",
|
|
421
|
+
"UT",
|
|
422
|
+
"VA",
|
|
423
|
+
"VT",
|
|
424
|
+
"WA",
|
|
425
|
+
"WV",
|
|
426
|
+
"WY",
|
|
427
|
+
}:
|
|
428
|
+
self._add_holiday_3rd_mon_of_feb(name)
|
|
427
429
|
else:
|
|
428
430
|
self._add_holiday_feb_22(name)
|
|
429
431
|
|
|
@@ -494,13 +496,9 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
|
|
|
494
496
|
tr("Martin Luther King, Jr & Robert E. Lee's Birthday")
|
|
495
497
|
)
|
|
496
498
|
|
|
497
|
-
if self._year >=
|
|
499
|
+
if self._year >= 1971:
|
|
498
500
|
# George Washington & Thomas Jefferson's Birthday.
|
|
499
|
-
|
|
500
|
-
if self._year >= 1971:
|
|
501
|
-
self._add_holiday_3rd_mon_of_feb(name)
|
|
502
|
-
else:
|
|
503
|
-
self._add_holiday_feb_22(name)
|
|
501
|
+
self._add_holiday_3rd_mon_of_feb(tr("George Washington & Thomas Jefferson's Birthday"))
|
|
504
502
|
|
|
505
503
|
if self._year >= 1866:
|
|
506
504
|
# Confederate Memorial Day.
|
|
@@ -529,13 +527,11 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
|
|
|
529
527
|
else tr("Dr. Martin Luther King Jr. and Robert E. Lee's Birthdays")
|
|
530
528
|
)
|
|
531
529
|
|
|
532
|
-
if self._year >=
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
else:
|
|
538
|
-
self._add_holiday_feb_22(name)
|
|
530
|
+
if self._year >= 1971:
|
|
531
|
+
self._add_holiday_3rd_mon_of_feb(
|
|
532
|
+
# George Washington's Birthday and Daisy Gatson Bates Day.
|
|
533
|
+
tr("George Washington's Birthday and Daisy Gatson Bates Day")
|
|
534
|
+
)
|
|
539
535
|
|
|
540
536
|
def _populate_subdiv_as_public_holidays(self):
|
|
541
537
|
if self._year >= 1901:
|
|
@@ -635,6 +631,15 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
|
|
|
635
631
|
# Good Friday.
|
|
636
632
|
self._add_good_friday(tr("Good Friday"))
|
|
637
633
|
|
|
634
|
+
if 1971 <= self._year <= 2009:
|
|
635
|
+
self._add_holiday_3rd_mon_of_feb(
|
|
636
|
+
# Presidents' Day.
|
|
637
|
+
tr("Presidents' Day")
|
|
638
|
+
if self._year >= 1990
|
|
639
|
+
# Washington's Birthday.
|
|
640
|
+
else tr("Washington's Birthday")
|
|
641
|
+
)
|
|
642
|
+
|
|
638
643
|
if self._year >= 2008 and self._year % 2 == 0:
|
|
639
644
|
# Election Day.
|
|
640
645
|
self._add_holiday_1_day_past_1st_mon_of_nov(tr("Election Day"))
|
|
@@ -684,11 +689,13 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
|
|
|
684
689
|
else tr("Robert E. Lee's Birthday")
|
|
685
690
|
)
|
|
686
691
|
|
|
687
|
-
if self._year >=
|
|
688
|
-
self.
|
|
692
|
+
if self._year >= 1971:
|
|
693
|
+
self._add_observed(
|
|
694
|
+
self._christmas_day,
|
|
689
695
|
# Washington's Birthday.
|
|
690
|
-
tr("Washington's Birthday"),
|
|
691
|
-
|
|
696
|
+
name=tr("Washington's Birthday"),
|
|
697
|
+
rule=GA_IN_WASHINGTON_BIRTHDAY,
|
|
698
|
+
show_observed_label=False,
|
|
692
699
|
)
|
|
693
700
|
|
|
694
701
|
def _populate_subdiv_gu_public_holidays(self):
|
|
@@ -780,11 +787,13 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
|
|
|
780
787
|
# Lincoln's Birthday.
|
|
781
788
|
self._add_holiday_1_day_past_4th_thu_of_nov(tr("Lincoln's Birthday"))
|
|
782
789
|
|
|
783
|
-
if self._year >=
|
|
784
|
-
self.
|
|
790
|
+
if self._year >= 1971:
|
|
791
|
+
self._add_observed(
|
|
792
|
+
self._christmas_day,
|
|
785
793
|
# Washington's Birthday.
|
|
786
|
-
tr("Washington's Birthday"),
|
|
787
|
-
|
|
794
|
+
name=tr("Washington's Birthday"),
|
|
795
|
+
rule=GA_IN_WASHINGTON_BIRTHDAY,
|
|
796
|
+
show_observed_label=False,
|
|
788
797
|
)
|
|
789
798
|
|
|
790
799
|
def _populate_subdiv_ks_public_holidays(self):
|