holidays 0.83__py3-none-any.whl → 0.85__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- holidays/__init__.py +0 -2
- holidays/calendars/__init__.py +0 -2
- holidays/calendars/balinese_saka.py +2 -3
- holidays/calendars/buddhist.py +3 -4
- holidays/calendars/burmese.py +9 -10
- holidays/calendars/chinese.py +8 -9
- holidays/calendars/hebrew.py +10 -11
- holidays/calendars/hindu.py +27 -28
- holidays/calendars/mandaean.py +2 -3
- holidays/calendars/mongolian.py +4 -5
- holidays/calendars/persian.py +2 -3
- holidays/calendars/sinhala.py +25 -14
- holidays/calendars/thai.py +13 -14
- holidays/calendars/tibetan.py +12 -13
- holidays/constants.py +0 -2
- holidays/countries/__init__.py +0 -2
- holidays/countries/aland_islands.py +4 -4
- holidays/countries/american_samoa.py +4 -4
- holidays/countries/angola.py +1 -2
- holidays/countries/austria.py +1 -1
- holidays/countries/azerbaijan.py +2 -0
- holidays/countries/china.py +10 -1
- holidays/countries/ecuador.py +12 -4
- holidays/countries/french_guiana.py +4 -4
- holidays/countries/french_polynesia.py +4 -4
- holidays/countries/french_southern_territories.py +4 -4
- holidays/countries/guadeloupe.py +4 -4
- holidays/countries/guam.py +4 -4
- holidays/countries/guernsey.py +1 -2
- holidays/countries/italy.py +2 -2
- holidays/countries/jersey.py +1 -2
- holidays/countries/malta.py +1 -1
- holidays/countries/marshall_islands.py +8 -6
- holidays/countries/martinique.py +4 -4
- holidays/countries/mauritania.py +2 -4
- holidays/countries/mayotte.py +4 -4
- holidays/countries/new_caledonia.py +4 -4
- holidays/countries/northern_mariana_islands.py +4 -4
- holidays/countries/portugal.py +6 -3
- holidays/countries/puerto_rico.py +4 -4
- holidays/countries/reunion.py +4 -4
- holidays/countries/saint_barthelemy.py +4 -4
- holidays/countries/saint_martin.py +4 -4
- holidays/countries/saint_pierre_and_miquelon.py +4 -4
- holidays/countries/samoa.py +1 -3
- holidays/countries/sint_maarten.py +1 -1
- holidays/countries/spain.py +418 -214
- holidays/countries/sri_lanka.py +37 -33
- holidays/countries/svalbard_and_jan_mayen.py +4 -4
- holidays/countries/taiwan.py +2 -2
- holidays/countries/thailand.py +4 -1
- holidays/countries/turkey.py +7 -4
- holidays/countries/united_kingdom.py +1 -2
- holidays/countries/united_states.py +5 -2
- holidays/countries/united_states_minor_outlying_islands.py +4 -4
- holidays/countries/united_states_virgin_islands.py +4 -4
- holidays/countries/wallis_and_futuna.py +4 -4
- holidays/financial/__init__.py +1 -3
- holidays/financial/ice_futures_europe.py +6 -2
- holidays/financial/national_stock_exchange_of_india.py +141 -38
- holidays/groups/__init__.py +0 -2
- holidays/groups/balinese_saka.py +2 -3
- holidays/groups/buddhist.py +4 -5
- holidays/groups/burmese.py +11 -12
- holidays/groups/chinese.py +18 -19
- holidays/groups/christian.py +20 -0
- holidays/groups/eastern.py +2 -3
- holidays/groups/hebrew.py +7 -10
- holidays/groups/hindu.py +36 -37
- holidays/groups/mandaean.py +13 -14
- holidays/groups/mongolian.py +7 -8
- holidays/groups/persian.py +14 -15
- holidays/groups/sinhala.py +13 -14
- holidays/groups/thai.py +12 -13
- holidays/groups/tibetan.py +16 -17
- holidays/holiday_base.py +34 -33
- holidays/ical.py +1 -2
- holidays/locale/ca/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
- holidays/mixins/__init__.py +0 -2
- holidays/mixins/child_entity.py +1 -3
- holidays/observed_holiday_base.py +12 -13
- holidays/registry.py +4 -4
- holidays/utils.py +13 -14
- holidays/version.py +1 -1
- {holidays-0.83.dist-info → holidays-0.85.dist-info}/METADATA +4 -5
- {holidays-0.83.dist-info → holidays-0.85.dist-info}/RECORD +112 -111
- {holidays-0.83.dist-info → holidays-0.85.dist-info}/licenses/CONTRIBUTORS +2 -0
- {holidays-0.83.dist-info → holidays-0.85.dist-info}/WHEEL +0 -0
- {holidays-0.83.dist-info → holidays-0.85.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.83.dist-info → holidays-0.85.dist-info}/top_level.txt +0 -0
holidays/countries/spain.py
CHANGED
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
from gettext import gettext as tr
|
|
14
14
|
|
|
15
15
|
from holidays.calendars import _CustomIslamicHolidays
|
|
16
|
-
from holidays.calendars.gregorian import MAR, MAY, JUN, AUG, SEP, OCT, NOV
|
|
16
|
+
from holidays.calendars.gregorian import JAN, MAR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
17
17
|
from holidays.groups import (
|
|
18
18
|
ChristianHolidays,
|
|
19
19
|
IslamicHolidays,
|
|
20
20
|
InternationalHolidays,
|
|
21
21
|
StaticHolidays,
|
|
22
22
|
)
|
|
23
|
-
from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
|
|
23
|
+
from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON, SUN_TO_NONE
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
class Spain(
|
|
@@ -29,7 +29,9 @@ class Spain(
|
|
|
29
29
|
"""Spain holidays.
|
|
30
30
|
|
|
31
31
|
References:
|
|
32
|
-
* <https://web.archive.org/web/
|
|
32
|
+
* <https://web.archive.org/web/20230307043804/https://administracion.gob.es/pag_Home/atencionCiudadana/calendarios.html>
|
|
33
|
+
* [2008](https://web.archive.org/web/20251029052726/https://www.boe.es/diario_boe/txt.php?id=BOE-A-2007-18306)
|
|
34
|
+
* [2009](https://web.archive.org/web/20250427104921/https://www.boe.es/buscar/doc.php?id=BOE-A-2008-18411)
|
|
33
35
|
* [2010](https://web.archive.org/web/20250427181827/https://www.boe.es/buscar/doc.php?id=BOE-A-2009-18477)
|
|
34
36
|
* [2011](https://web.archive.org/web/20231121065830/https://www.boe.es/buscar/doc.php?id=BOE-A-2010-15722)
|
|
35
37
|
* [2012](https://web.archive.org/web/20250427181838/https://www.boe.es/buscar/doc.php?id=BOE-A-2011-16116)
|
|
@@ -46,9 +48,32 @@ class Spain(
|
|
|
46
48
|
* [2023](https://web.archive.org/web/20240811035605/https://www.boe.es/buscar/doc.php?id=BOE-A-2022-16755)
|
|
47
49
|
* [2024](https://web.archive.org/web/20240401192304/https://www.boe.es/buscar/doc.php?id=BOE-A-2023-22014)
|
|
48
50
|
* [2025](https://web.archive.org/web/20241226214918/https://www.boe.es/buscar/doc.php?id=BOE-A-2024-21316)
|
|
51
|
+
* [2026](https://web.archive.org/web/20251028115438/https://www.boe.es/diario_boe/txt.php?id=BOE-A-2025-21667)
|
|
49
52
|
|
|
50
53
|
Subdivisions Holidays References:
|
|
54
|
+
* Ceuta:
|
|
55
|
+
* [2018](https://web.archive.org/web/20251029132255/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2018)
|
|
56
|
+
* [2019](https://web.archive.org/web/20210506145356/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2019)
|
|
57
|
+
* [2020](https://web.archive.org/web/20210413221634/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2020)
|
|
58
|
+
* [2021](https://web.archive.org/web/20251029131434/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2021)
|
|
59
|
+
* [2022](https://web.archive.org/web/20250115161923/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2022)
|
|
60
|
+
* [2023](https://web.archive.org/web/20241211133010/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2023)
|
|
61
|
+
* [2024](https://web.archive.org/web/20240419004114/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2024)
|
|
62
|
+
* [2025](https://web.archive.org/web/20250315132943/https://sede.ceuta.es/controlador/controlador?modulo=info&cmd=calendario&year=2025)
|
|
63
|
+
* Melilla:
|
|
64
|
+
* [2017](https://web.archive.org/web/20251029145828/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=23611&nivel=1400&tipo=2)
|
|
65
|
+
* [2018](https://web.archive.org/web/20251029144310/https://www.melilla.es/melillaPortal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=25713&nivel=1400&tipo=2)
|
|
66
|
+
* [2019](https://web.archive.org/web/20251029132642/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=27481&nivel=1400&tipo=2)
|
|
67
|
+
* [2020](https://web.archive.org/web/20251028181240/https://www.melilla.es/melillaPortal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=29323&nivel=1400&tipo=2)
|
|
68
|
+
* [2021](https://web.archive.org/web/20251028181807/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=30529&nivel=1400&tipo=2)
|
|
69
|
+
* [2022](https://web.archive.org/web/20251029030735/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=32051&nivel=1400&tipo=2)
|
|
70
|
+
* [2023](https://web.archive.org/web/20251029030355/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=33685&nivel=1400&tipo=2)
|
|
71
|
+
* [2024](https://web.archive.org/web/20241208104853/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=34997&nivel=1400&tipo=2)
|
|
72
|
+
* [2025](https://web.archive.org/web/20250113015447/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=37491&nivel=1400&tipo=2)
|
|
73
|
+
* [2026](https://web.archive.org/web/20251029045506/https://www.melilla.es/melillaportal/contenedor.jsp?seccion=s_fact_d4_v1.jsp&contenido=41767&nivel=1400&tipo=2)
|
|
51
74
|
* Navarra:
|
|
75
|
+
* [2008](https://web.archive.org/web/20100407160735/http://www.lexnavarra.navarra.es/detalle.asp?r=29465)
|
|
76
|
+
* [2009](https://web.archive.org/web/20130615075729/http://www.lexnavarra.navarra.es/detalle.asp?r=29761)
|
|
52
77
|
* [2010](https://web.archive.org/web/20250903095706/https://www.lexnavarra.navarra.es/detalle.asp?r=8402)
|
|
53
78
|
* [2011](https://web.archive.org/web/20250903095217/https://www.lexnavarra.navarra.es/detalle.asp?r=8403)
|
|
54
79
|
* [2012](https://web.archive.org/web/20250903095133/https://www.lexnavarra.navarra.es/detalle.asp?r=12993)
|
|
@@ -65,8 +90,9 @@ class Spain(
|
|
|
65
90
|
* [2023](https://web.archive.org/web/20250623010106/https://www.lexnavarra.navarra.es/detalle.asp?r=55481)
|
|
66
91
|
* [2024](https://web.archive.org/web/20250623001355/https://www.lexnavarra.navarra.es/detalle.asp?r=56116)
|
|
67
92
|
* [2025](https://web.archive.org/web/20250622235218/https://www.lexnavarra.navarra.es/detalle.asp?r=57122)
|
|
93
|
+
* [2026](https://web.archive.org/web/20251028120003/https://www.lexnavarra.navarra.es/detalle.asp?r=57937)
|
|
68
94
|
|
|
69
|
-
Holidays checked with official sources for
|
|
95
|
+
Holidays checked with official sources for 2008-2026 only.
|
|
70
96
|
"""
|
|
71
97
|
|
|
72
98
|
country = "ES"
|
|
@@ -77,6 +103,8 @@ class Spain(
|
|
|
77
103
|
observed_estimated_label = tr("Lunes siguiente a %s (estimado)")
|
|
78
104
|
# Monday following %s.
|
|
79
105
|
observed_label = tr("Lunes siguiente a %s")
|
|
106
|
+
# Earliest available online sources for all of Spain's subdivisions.
|
|
107
|
+
start_year = 2008
|
|
80
108
|
subdivisions = (
|
|
81
109
|
"AN", # Andalucía.
|
|
82
110
|
"AR", # Aragón.
|
|
@@ -121,7 +149,7 @@ class Spain(
|
|
|
121
149
|
"La Rioja": "RI",
|
|
122
150
|
"Valenciana": "VC",
|
|
123
151
|
}
|
|
124
|
-
supported_languages = ("ca", "en_US", "es", "uk")
|
|
152
|
+
supported_languages = ("ca", "en_US", "es", "th", "uk")
|
|
125
153
|
|
|
126
154
|
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
127
155
|
"""
|
|
@@ -140,50 +168,54 @@ class Spain(
|
|
|
140
168
|
super().__init__(*args, **kwargs)
|
|
141
169
|
|
|
142
170
|
def _populate_public_holidays(self):
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
self._add_new_years_day(tr("Año Nuevo"))
|
|
171
|
+
# New Year's Day.
|
|
172
|
+
self._add_observed(self._add_new_years_day(tr("Año Nuevo")), rule=SUN_TO_NONE)
|
|
146
173
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
self._add_epiphany_day(tr("Epifanía del Señor"))
|
|
174
|
+
# Epiphany.
|
|
175
|
+
self._add_observed(self._add_epiphany_day(tr("Epifanía del Señor")), rule=SUN_TO_NONE)
|
|
150
176
|
|
|
151
177
|
# Good Friday.
|
|
152
178
|
self._add_good_friday(tr("Viernes Santo"))
|
|
153
179
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
self._add_labor_day(tr("Fiesta del Trabajo"))
|
|
180
|
+
# Labor Day.
|
|
181
|
+
self._add_observed(self._add_labor_day(tr("Fiesta del Trabajo")), rule=SUN_TO_NONE)
|
|
157
182
|
|
|
158
|
-
|
|
183
|
+
self._add_observed(
|
|
159
184
|
# Assumption Day.
|
|
160
|
-
self._add_assumption_of_mary_day(tr("Asunción de la Virgen"))
|
|
185
|
+
self._add_assumption_of_mary_day(tr("Asunción de la Virgen")),
|
|
186
|
+
rule=SUN_TO_NONE,
|
|
187
|
+
)
|
|
161
188
|
|
|
162
|
-
|
|
189
|
+
self._add_observed(
|
|
163
190
|
# National Day.
|
|
164
|
-
self._add_holiday_oct_12(tr("Fiesta Nacional de España"))
|
|
191
|
+
self._add_holiday_oct_12(tr("Fiesta Nacional de España")),
|
|
192
|
+
rule=SUN_TO_NONE,
|
|
193
|
+
)
|
|
165
194
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
self._add_all_saints_day(tr("Todos los Santos"))
|
|
195
|
+
# All Saints' Day.
|
|
196
|
+
self._add_observed(self._add_all_saints_day(tr("Todos los Santos")), rule=SUN_TO_NONE)
|
|
169
197
|
|
|
198
|
+
self._add_observed(
|
|
170
199
|
# Constitution Day.
|
|
171
|
-
self._add_holiday_dec_6(tr("Día de la Constitución Española"))
|
|
200
|
+
self._add_holiday_dec_6(tr("Día de la Constitución Española")),
|
|
201
|
+
rule=SUN_TO_NONE,
|
|
202
|
+
)
|
|
172
203
|
|
|
173
|
-
|
|
204
|
+
self._add_observed(
|
|
174
205
|
# Immaculate Conception.
|
|
175
|
-
self._add_immaculate_conception_day(tr("Inmaculada Concepción"))
|
|
206
|
+
self._add_immaculate_conception_day(tr("Inmaculada Concepción")),
|
|
207
|
+
rule=SUN_TO_NONE,
|
|
208
|
+
)
|
|
176
209
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
self._add_christmas_day(tr("Natividad del Señor"))
|
|
210
|
+
# Christmas Day.
|
|
211
|
+
self._add_observed(self._add_christmas_day(tr("Natividad del Señor")), rule=SUN_TO_NONE)
|
|
180
212
|
|
|
181
213
|
def _populate_subdiv_an_public_holidays(self):
|
|
182
|
-
|
|
183
|
-
|
|
214
|
+
# New Year's Day.
|
|
215
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
184
216
|
|
|
185
|
-
|
|
186
|
-
|
|
217
|
+
# Epiphany.
|
|
218
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
187
219
|
|
|
188
220
|
# Andalusia Day.
|
|
189
221
|
self._move_holiday(self._add_holiday_feb_28(tr("Día de Andalucía")))
|
|
@@ -191,161 +223,192 @@ class Spain(
|
|
|
191
223
|
# Maundy Thursday.
|
|
192
224
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
193
225
|
|
|
194
|
-
|
|
195
|
-
|
|
226
|
+
# Labor Day.
|
|
227
|
+
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
196
228
|
|
|
197
|
-
|
|
198
|
-
|
|
229
|
+
# Assumption Day.
|
|
230
|
+
self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
|
|
199
231
|
|
|
200
|
-
|
|
201
|
-
|
|
232
|
+
# National Day.
|
|
233
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
202
234
|
|
|
203
|
-
|
|
204
|
-
|
|
235
|
+
# All Saints' Day.
|
|
236
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
205
237
|
|
|
206
|
-
|
|
207
|
-
|
|
238
|
+
# Constitution Day.
|
|
239
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
208
240
|
|
|
209
|
-
|
|
210
|
-
|
|
241
|
+
# Immaculate Conception.
|
|
242
|
+
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
211
243
|
|
|
212
|
-
|
|
213
|
-
|
|
244
|
+
# Christmas Day.
|
|
245
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
214
246
|
|
|
215
247
|
def _populate_subdiv_ar_public_holidays(self):
|
|
216
|
-
|
|
217
|
-
|
|
248
|
+
# New Year's Day.
|
|
249
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
218
250
|
|
|
219
|
-
|
|
220
|
-
|
|
251
|
+
# Epiphany.
|
|
252
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
221
253
|
|
|
254
|
+
# Maundy Thursday.
|
|
222
255
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
223
256
|
|
|
224
257
|
# Saint George's Day.
|
|
225
258
|
self._move_holiday(self._add_saint_georges_day(tr("Día de San Jorge")))
|
|
226
259
|
|
|
227
|
-
|
|
228
|
-
|
|
260
|
+
# Labor Day.
|
|
261
|
+
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
229
262
|
|
|
230
|
-
|
|
231
|
-
|
|
263
|
+
# Assumption Day.
|
|
264
|
+
self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
|
|
232
265
|
|
|
233
|
-
|
|
234
|
-
|
|
266
|
+
# National Day.
|
|
267
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
235
268
|
|
|
236
|
-
|
|
237
|
-
|
|
269
|
+
# All Saints' Day.
|
|
270
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
238
271
|
|
|
239
|
-
|
|
240
|
-
|
|
272
|
+
# Constitution Day.
|
|
273
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
241
274
|
|
|
242
|
-
|
|
243
|
-
|
|
275
|
+
# Immaculate Conception.
|
|
276
|
+
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
244
277
|
|
|
245
|
-
|
|
246
|
-
|
|
278
|
+
# Christmas Day.
|
|
279
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
247
280
|
|
|
248
281
|
def _populate_subdiv_as_public_holidays(self):
|
|
249
|
-
|
|
250
|
-
|
|
282
|
+
# New Year's Day.
|
|
283
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
251
284
|
|
|
252
|
-
|
|
253
|
-
|
|
285
|
+
# Epiphany.
|
|
286
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
254
287
|
|
|
288
|
+
# Maundy Thursday.
|
|
255
289
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
256
290
|
|
|
257
|
-
|
|
258
|
-
|
|
291
|
+
# Labor Day.
|
|
292
|
+
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
259
293
|
|
|
260
|
-
|
|
261
|
-
|
|
294
|
+
# Assumption Day.
|
|
295
|
+
self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
|
|
262
296
|
|
|
263
297
|
# Asturias Day.
|
|
264
298
|
self._move_holiday(self._add_holiday_sep_8(tr("Día de Asturias")))
|
|
265
299
|
|
|
266
|
-
|
|
267
|
-
|
|
300
|
+
# National Day.
|
|
301
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
268
302
|
|
|
269
|
-
|
|
270
|
-
|
|
303
|
+
# All Saints' Day.
|
|
304
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
271
305
|
|
|
272
|
-
|
|
273
|
-
|
|
306
|
+
# Constitution Day.
|
|
307
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
274
308
|
|
|
275
|
-
|
|
276
|
-
|
|
309
|
+
# Immaculate Conception.
|
|
310
|
+
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
277
311
|
|
|
278
|
-
|
|
279
|
-
|
|
312
|
+
# Christmas Day.
|
|
313
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
280
314
|
|
|
281
315
|
def _populate_subdiv_cb_public_holidays(self):
|
|
282
316
|
if self._year == 2013:
|
|
317
|
+
# Epiphany.
|
|
283
318
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
284
319
|
|
|
285
320
|
if self._year != 2018:
|
|
321
|
+
# Maundy Thursday.
|
|
286
322
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
287
323
|
|
|
288
|
-
|
|
324
|
+
# Add when Cantabria Institutions Day is on Sunday.
|
|
325
|
+
if self._is_sunday(JUL, 28) or self._year in {2015, 2020}:
|
|
289
326
|
# Easter Monday.
|
|
290
327
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
291
328
|
|
|
292
329
|
if self._year == 2011:
|
|
330
|
+
# Labor Day.
|
|
293
331
|
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
294
332
|
|
|
295
|
-
|
|
333
|
+
# Add when Our Lady of Bien Aparecida is on Sunday.
|
|
334
|
+
if self._is_sunday(SEP, 15) or self._year in {2012, 2014}:
|
|
296
335
|
# Saint James' Day.
|
|
297
336
|
self._add_saint_james_day(tr("Santiago Apóstol"))
|
|
298
337
|
|
|
299
|
-
if self._year not in {2012, 2015
|
|
300
|
-
|
|
301
|
-
|
|
338
|
+
if self._year not in {2012, 2015}:
|
|
339
|
+
self._add_observed(
|
|
340
|
+
# Cantabria Institutions Day.
|
|
341
|
+
self._add_holiday_jul_28(tr("Día de las Instituciones de Cantabria")),
|
|
342
|
+
rule=SUN_TO_NONE,
|
|
343
|
+
)
|
|
302
344
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
345
|
+
# Our Lady of Bien Aparecida.
|
|
346
|
+
self._add_observed(self._add_holiday_sep_15(tr("La Bien Aparecida")), rule=SUN_TO_NONE)
|
|
347
|
+
|
|
348
|
+
if self._year == 2008:
|
|
349
|
+
# National Day.
|
|
350
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
306
351
|
|
|
307
352
|
if self._year == 2015:
|
|
353
|
+
# All Saints' Day.
|
|
308
354
|
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
309
355
|
|
|
356
|
+
if self._year == 2009 or self._year >= 2026:
|
|
357
|
+
# Constitution Day.
|
|
358
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
359
|
+
|
|
310
360
|
if self._year == 2019:
|
|
361
|
+
# Immaculate Conception.
|
|
311
362
|
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
312
363
|
|
|
313
|
-
if self._year
|
|
364
|
+
if self._year >= 2016:
|
|
365
|
+
# Christmas Day.
|
|
314
366
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
315
367
|
|
|
316
368
|
def _populate_subdiv_ce_public_holidays(self):
|
|
317
369
|
if self._year == 2012:
|
|
370
|
+
# New Year's Day.
|
|
318
371
|
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
319
372
|
|
|
320
|
-
|
|
321
|
-
|
|
373
|
+
# Epiphany.
|
|
374
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
322
375
|
|
|
376
|
+
# Maundy Thursday.
|
|
323
377
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
324
378
|
|
|
325
379
|
if self._year == 2011:
|
|
380
|
+
# Labor Day.
|
|
326
381
|
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
327
382
|
|
|
383
|
+
# Saint Anthony's Day.
|
|
384
|
+
self._move_holiday(self._add_saint_anthonys_day(tr("San Antonio")))
|
|
385
|
+
|
|
328
386
|
if self._year >= 2022:
|
|
329
387
|
# Santa Maria of Africa.
|
|
330
388
|
self._add_holiday_aug_5(tr("Nuestra Señora de África"))
|
|
331
389
|
|
|
332
|
-
if self._year not in {2011,
|
|
390
|
+
if self._year not in {2011, 2015, 2025}:
|
|
333
391
|
# Ceuta Day.
|
|
334
|
-
self._add_holiday_sep_2(tr("Día de Ceuta"))
|
|
392
|
+
self._add_observed(self._add_holiday_sep_2(tr("Día de Ceuta")), rule=SUN_TO_NONE)
|
|
335
393
|
|
|
336
|
-
if self._year
|
|
394
|
+
if self._year <= 2014:
|
|
395
|
+
# National Day.
|
|
337
396
|
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
338
397
|
|
|
339
|
-
if self._year
|
|
398
|
+
if self._year <= 2015:
|
|
399
|
+
# All Saints' Day.
|
|
340
400
|
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
341
401
|
|
|
342
|
-
if self._year
|
|
402
|
+
if self._year <= 2020:
|
|
403
|
+
# Constitution Day.
|
|
343
404
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
344
405
|
|
|
345
406
|
if self._year == 2013:
|
|
407
|
+
# Immaculate Conception.
|
|
346
408
|
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
347
409
|
|
|
348
|
-
if self._year
|
|
410
|
+
if self._year <= 2016:
|
|
411
|
+
# Christmas Day.
|
|
349
412
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
350
413
|
|
|
351
414
|
# Eid al-Adha.
|
|
@@ -358,122 +421,150 @@ class Spain(
|
|
|
358
421
|
self._add_eid_al_adha_day(name)
|
|
359
422
|
|
|
360
423
|
def _populate_subdiv_cl_public_holidays(self):
|
|
361
|
-
if self._year
|
|
424
|
+
if self._year >= 2017:
|
|
425
|
+
# New Year's Day.
|
|
362
426
|
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
363
427
|
|
|
364
|
-
|
|
365
|
-
|
|
428
|
+
# Epiphany.
|
|
429
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
366
430
|
|
|
367
|
-
if self._year in {2010, 2012}:
|
|
431
|
+
if self._year in {2009, 2010, 2012}:
|
|
432
|
+
# Saint Joseph's Day.
|
|
368
433
|
self._add_saint_josephs_day(tr("San José"))
|
|
369
434
|
|
|
435
|
+
# Maundy Thursday.
|
|
370
436
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
371
437
|
|
|
372
438
|
if self._year != 2023:
|
|
373
439
|
# Castile and León Day.
|
|
374
440
|
self._move_holiday(self._add_holiday_apr_23(tr("Fiesta de Castilla y León")))
|
|
375
441
|
|
|
376
|
-
if self._year
|
|
442
|
+
if self._year >= 2016:
|
|
443
|
+
# Labor Day.
|
|
377
444
|
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
378
445
|
|
|
379
446
|
if self._year in {2011, 2023}:
|
|
447
|
+
# Saint James' Day.
|
|
380
448
|
self._add_saint_james_day(tr("Santiago Apóstol"))
|
|
381
449
|
|
|
382
|
-
if self._year
|
|
450
|
+
if self._year >= 2021:
|
|
451
|
+
# Assumption Day.
|
|
383
452
|
self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
|
|
384
453
|
|
|
385
|
-
|
|
386
|
-
|
|
454
|
+
# National Day.
|
|
455
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
387
456
|
|
|
388
|
-
|
|
389
|
-
|
|
457
|
+
# All Saints' Day.
|
|
458
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
390
459
|
|
|
391
|
-
if self._year
|
|
460
|
+
if self._year >= 2015:
|
|
461
|
+
# Constitution Day.
|
|
392
462
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
393
463
|
|
|
394
|
-
|
|
395
|
-
|
|
464
|
+
# Immaculate Conception.
|
|
465
|
+
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
396
466
|
|
|
397
|
-
|
|
398
|
-
|
|
467
|
+
# Christmas Day.
|
|
468
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
399
469
|
|
|
400
470
|
def _populate_subdiv_cm_public_holidays(self):
|
|
401
|
-
if self._year
|
|
471
|
+
if self._year <= 2013:
|
|
472
|
+
# Epiphany.
|
|
402
473
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
403
474
|
|
|
404
|
-
if self._year in {2010, 2011, 2020}:
|
|
475
|
+
if self._year in {2008, 2009, 2010, 2011, 2020}:
|
|
405
476
|
# Saint Joseph's Day.
|
|
406
477
|
self._add_saint_josephs_day(tr("San José"))
|
|
407
478
|
|
|
479
|
+
# Maundy Thursday.
|
|
408
480
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
409
481
|
|
|
410
|
-
if self._year in {2014, 2015, 2019, 2020}:
|
|
482
|
+
if self._year in {2014, 2015, 2019, 2020, 2026}:
|
|
483
|
+
# Easter Monday.
|
|
411
484
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
412
485
|
|
|
413
|
-
if self._year not in {2010, 2018}:
|
|
486
|
+
if self._year not in {2009, 2010, 2018}:
|
|
414
487
|
# Corpus Christi.
|
|
415
488
|
self._add_corpus_christi_day(tr("Corpus Christi"))
|
|
416
489
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
490
|
+
# Castilla-La Mancha Day.
|
|
491
|
+
may_31 = self._add_holiday_may_31(tr("Día de Castilla-La Mancha"))
|
|
492
|
+
if self._year <= 2009:
|
|
493
|
+
self._move_holiday(may_31, show_observed_label=False)
|
|
494
|
+
else:
|
|
495
|
+
self._add_observed(may_31, rule=SUN_TO_NONE)
|
|
420
496
|
|
|
421
|
-
if self._year
|
|
497
|
+
if self._year >= 2026:
|
|
498
|
+
# All Saints' Day.
|
|
499
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
500
|
+
|
|
501
|
+
if self._year <= 2015:
|
|
502
|
+
# Constitution Day.
|
|
422
503
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
423
504
|
|
|
424
|
-
if self._year
|
|
505
|
+
if self._year >= 2016:
|
|
506
|
+
# Christmas Day.
|
|
425
507
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
426
508
|
|
|
427
509
|
def _populate_subdiv_cn_public_holidays(self):
|
|
428
|
-
|
|
429
|
-
|
|
510
|
+
# Epiphany.
|
|
511
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
430
512
|
|
|
513
|
+
# Maundy Thursday.
|
|
431
514
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
432
515
|
|
|
433
516
|
if self._year == 2016:
|
|
517
|
+
# Labor Day.
|
|
434
518
|
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
435
519
|
|
|
436
520
|
if self._year != 2021:
|
|
437
521
|
# Day of the Canary Islands.
|
|
438
522
|
self._move_holiday(self._add_holiday_may_30(tr("Día de Canarias")))
|
|
439
523
|
|
|
440
|
-
if self._year
|
|
524
|
+
if self._year >= 2021:
|
|
525
|
+
# Assumption Day.
|
|
441
526
|
self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
|
|
442
527
|
|
|
443
|
-
if self._year == 2015:
|
|
528
|
+
if self._year == 2015 or self._year >= 2026:
|
|
529
|
+
# All Saints' Day.
|
|
444
530
|
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
445
531
|
|
|
446
|
-
if self._year
|
|
532
|
+
if self._year in {2009, 2020}:
|
|
533
|
+
# Constitution Day.
|
|
447
534
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
448
535
|
|
|
449
|
-
if self._year
|
|
536
|
+
if self._year == 2011 or self._year >= 2022:
|
|
537
|
+
# Christmas Day.
|
|
450
538
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
451
539
|
|
|
452
540
|
def _populate_subdiv_ct_public_holidays(self):
|
|
541
|
+
# Easter Monday.
|
|
453
542
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
454
543
|
|
|
455
|
-
|
|
544
|
+
# Add when Labor Day or Christmas Day falls on Sunday.
|
|
545
|
+
if self._is_sunday(MAY, 1):
|
|
456
546
|
# Whit Monday.
|
|
457
547
|
self._add_whit_monday(tr("Día de la Pascua Granada"))
|
|
458
548
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
self._add_saint_johns_day(tr("San Juan"))
|
|
549
|
+
# Saint John the Baptist.
|
|
550
|
+
self._add_observed(self._add_saint_johns_day(tr("San Juan")), rule=SUN_TO_NONE)
|
|
462
551
|
|
|
463
|
-
|
|
552
|
+
self._add_observed(
|
|
464
553
|
# National Day of Catalonia.
|
|
465
|
-
self._add_holiday_sep_11(tr("Fiesta Nacional de Cataluña"))
|
|
554
|
+
self._add_holiday_sep_11(tr("Fiesta Nacional de Cataluña")),
|
|
555
|
+
rule=SUN_TO_NONE,
|
|
556
|
+
)
|
|
466
557
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
self._add_christmas_day_two(tr("San Esteban"))
|
|
558
|
+
# Saint Stephen's Day.
|
|
559
|
+
self._add_observed(self._add_christmas_day_two(tr("San Esteban")), rule=SUN_TO_NONE)
|
|
470
560
|
|
|
471
561
|
def _populate_subdiv_ex_public_holidays(self):
|
|
472
562
|
if self._year == 2012:
|
|
563
|
+
# New Year's Day.
|
|
473
564
|
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
474
565
|
|
|
475
|
-
|
|
476
|
-
|
|
566
|
+
# Epiphany.
|
|
567
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
477
568
|
|
|
478
569
|
if self._year in {2023, 2024}:
|
|
479
570
|
# Shrove Tuesday.
|
|
@@ -483,157 +574,230 @@ class Spain(
|
|
|
483
574
|
# Saint Joseph's Day.
|
|
484
575
|
self._move_holiday(self._add_saint_josephs_day(tr("San José")))
|
|
485
576
|
|
|
577
|
+
# Maundy Thursday.
|
|
486
578
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
487
579
|
|
|
488
|
-
|
|
489
|
-
|
|
580
|
+
# Labor Day.
|
|
581
|
+
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
490
582
|
|
|
491
583
|
if self._year != 2024:
|
|
492
584
|
# Extremadura Day.
|
|
493
585
|
self._move_holiday(self._add_holiday_sep_8(tr("Día de Extremadura")))
|
|
494
586
|
|
|
495
|
-
|
|
496
|
-
|
|
587
|
+
# National Day.
|
|
588
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
497
589
|
|
|
498
|
-
|
|
499
|
-
|
|
590
|
+
# All Saints' Day.
|
|
591
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
500
592
|
|
|
501
|
-
|
|
502
|
-
|
|
593
|
+
# Constitution Day.
|
|
594
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
503
595
|
|
|
504
|
-
|
|
505
|
-
|
|
596
|
+
# Immaculate Conception.
|
|
597
|
+
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
506
598
|
|
|
507
|
-
|
|
508
|
-
|
|
599
|
+
# Christmas Day.
|
|
600
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
509
601
|
|
|
510
602
|
def _populate_subdiv_ga_public_holidays(self):
|
|
511
|
-
if self._year in {2010, 2011
|
|
603
|
+
if self._year in {2008, 2009, 2010, 2011, 2019, 2020, 2021, 2026}:
|
|
604
|
+
# Saint Joseph's Day.
|
|
512
605
|
self._move_holiday(self._add_saint_josephs_day(tr("San José")))
|
|
513
606
|
|
|
607
|
+
# Maundy Thursday.
|
|
514
608
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
515
609
|
|
|
516
|
-
|
|
610
|
+
self._add_observed(
|
|
517
611
|
# Galician Literature Day.
|
|
518
|
-
self._add_holiday_may_17(tr("Día de las Letras Gallegas"))
|
|
612
|
+
self._add_holiday_may_17(tr("Día de las Letras Gallegas")),
|
|
613
|
+
rule=SUN_TO_NONE,
|
|
614
|
+
)
|
|
519
615
|
|
|
520
|
-
if self._year in {2013, 2016, 2020, 2022}:
|
|
616
|
+
if self._year in {2013, 2016, 2020, 2022, 2026}:
|
|
617
|
+
# Saint John the Baptist.
|
|
521
618
|
self._add_saint_johns_day(tr("San Juan"))
|
|
522
619
|
|
|
523
|
-
|
|
620
|
+
self._add_observed(
|
|
524
621
|
# Galician National Day.
|
|
525
|
-
self._add_holiday_jul_25(tr("Día Nacional de Galicia"))
|
|
622
|
+
self._add_holiday_jul_25(tr("Día Nacional de Galicia")),
|
|
623
|
+
rule=SUN_TO_NONE,
|
|
624
|
+
)
|
|
526
625
|
|
|
527
626
|
if self._year == 2015:
|
|
627
|
+
# All Saints' Day.
|
|
528
628
|
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
529
629
|
|
|
630
|
+
if self._year == 2009:
|
|
631
|
+
# Constitution Day.
|
|
632
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
633
|
+
|
|
530
634
|
def _populate_subdiv_ib_public_holidays(self):
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
635
|
+
# Day of the Balearic Islands.
|
|
636
|
+
mar_1 = self._add_holiday_mar_1(tr("Día de las Islas Baleares"))
|
|
637
|
+
if self._year >= 2026:
|
|
638
|
+
self._move_holiday(mar_1)
|
|
639
|
+
else:
|
|
640
|
+
self._add_observed(mar_1, rule=SUN_TO_NONE)
|
|
534
641
|
|
|
642
|
+
# Maundy Thursday.
|
|
535
643
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
536
644
|
|
|
537
645
|
if self._year not in {2014, 2025}:
|
|
646
|
+
# Easter Monday.
|
|
538
647
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
539
648
|
|
|
649
|
+
if self._year == 2008:
|
|
650
|
+
# National Day.
|
|
651
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
652
|
+
|
|
540
653
|
if self._year == 2015:
|
|
654
|
+
# All Saints' Day.
|
|
541
655
|
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
542
656
|
|
|
543
|
-
if self._year
|
|
657
|
+
if self._year <= 2020:
|
|
658
|
+
# Constitution Day.
|
|
544
659
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
545
660
|
|
|
546
|
-
|
|
547
|
-
|
|
661
|
+
# Christmas Day.
|
|
662
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
548
663
|
|
|
549
|
-
if self._year in {2013, 2014, 2019, 2020, 2025}:
|
|
664
|
+
if self._year in {2008, 2009, 2013, 2014, 2019, 2020, 2025, 2026}:
|
|
665
|
+
# Saint Stephen's Day.
|
|
550
666
|
self._add_christmas_day_two(tr("San Esteban"))
|
|
551
667
|
|
|
552
668
|
def _populate_subdiv_mc_public_holidays(self):
|
|
553
|
-
if self._year
|
|
669
|
+
if self._year >= 2017:
|
|
670
|
+
# New Year's Day.
|
|
554
671
|
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
555
672
|
|
|
556
|
-
if self._year
|
|
673
|
+
if self._year >= 2013:
|
|
674
|
+
# Epiphany.
|
|
557
675
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
558
676
|
|
|
559
|
-
if
|
|
560
|
-
|
|
677
|
+
if self._year != 2022:
|
|
678
|
+
# Saint Joseph's Day.
|
|
679
|
+
self._add_observed(self._add_saint_josephs_day(tr("San José")), rule=SUN_TO_NONE)
|
|
561
680
|
|
|
681
|
+
# Maundy Thursday.
|
|
562
682
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
563
683
|
|
|
564
|
-
if self._year
|
|
684
|
+
if self._year == 2011 or self._year >= 2022:
|
|
685
|
+
# Labor Day.
|
|
565
686
|
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
566
687
|
|
|
567
688
|
if self._year not in {2013, 2024}:
|
|
568
689
|
# Murcia Day.
|
|
569
690
|
self._move_holiday(self._add_holiday_jun_9(tr("Día de la Región de Murcia")))
|
|
570
691
|
|
|
571
|
-
if self._year
|
|
572
|
-
|
|
692
|
+
if self._year == 2008:
|
|
693
|
+
# National Day.
|
|
694
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
695
|
+
|
|
696
|
+
# Constitution Day.
|
|
697
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
573
698
|
|
|
574
|
-
if self._year
|
|
699
|
+
if self._year == 2013 or self._year >= 2024:
|
|
700
|
+
# Immaculate Conception.
|
|
575
701
|
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
576
702
|
|
|
577
|
-
if self._year
|
|
703
|
+
if self._year >= 2016:
|
|
704
|
+
# Christmas Day.
|
|
578
705
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
579
706
|
|
|
580
707
|
def _populate_subdiv_md_public_holidays(self):
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
708
|
+
# Epiphany.
|
|
709
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
710
|
+
|
|
711
|
+
# Add when New Year's Day, Assumption Day, or All Saints' Day (until 2015) falls on Sunday.
|
|
712
|
+
if (
|
|
713
|
+
self._is_sunday(JAN, 1)
|
|
714
|
+
or self._is_sunday(AUG, 15)
|
|
715
|
+
or (self._year <= 2015 and self._is_sunday(NOV, 1))
|
|
716
|
+
):
|
|
717
|
+
# Saint Joseph's Day.
|
|
585
718
|
self._move_holiday(self._add_saint_josephs_day(tr("San José")))
|
|
586
719
|
|
|
720
|
+
# Maundy Thursday.
|
|
587
721
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
588
722
|
|
|
589
723
|
if self._year != 2010:
|
|
590
724
|
# Madrid Day.
|
|
591
725
|
self._move_holiday(self._add_holiday_may_2(tr("Fiesta de la Comunidad de Madrid")))
|
|
592
726
|
|
|
593
|
-
if self._year in {2010, 2011, 2014}:
|
|
727
|
+
if self._year in {2009, 2010, 2011, 2014}:
|
|
728
|
+
# Corpus Christi.
|
|
594
729
|
self._add_corpus_christi_day(tr("Corpus Christi"))
|
|
595
730
|
|
|
596
|
-
|
|
731
|
+
# Add when Labor Day falls on Sunday.
|
|
732
|
+
if self._is_sunday(MAY, 1) or self._year in {2008, 2024, 2025}:
|
|
733
|
+
# Saint James' Day.
|
|
597
734
|
self._add_saint_james_day(tr("Santiago Apóstol"))
|
|
598
735
|
|
|
599
|
-
if self._year
|
|
736
|
+
if self._year >= 2020:
|
|
737
|
+
# All Saints' Day.
|
|
600
738
|
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
601
739
|
|
|
602
|
-
|
|
740
|
+
# Constitution Day.
|
|
603
741
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
604
742
|
|
|
605
743
|
if self._year == 2019:
|
|
744
|
+
# Immaculate Conception.
|
|
606
745
|
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
607
746
|
|
|
608
|
-
if self._year
|
|
747
|
+
if self._year >= 2016:
|
|
748
|
+
# Christmas Day.
|
|
609
749
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
610
750
|
|
|
611
751
|
def _populate_subdiv_ml_public_holidays(self):
|
|
612
752
|
if self._year == 2017:
|
|
753
|
+
# New Year's Day.
|
|
613
754
|
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
614
755
|
|
|
615
|
-
|
|
616
|
-
|
|
756
|
+
# Epiphany.
|
|
757
|
+
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
617
758
|
|
|
618
|
-
if self._year in {2020, 2021}:
|
|
759
|
+
if self._year in {2020, 2021, 2023}:
|
|
619
760
|
# Statute of Autonomy of Melilla Day.
|
|
620
761
|
self._add_holiday_mar_13(tr("Estatuto de Autonomía de la Ciudad de Melilla"))
|
|
621
762
|
|
|
622
763
|
if self._year <= 2016:
|
|
764
|
+
# Saint Joseph's Day.
|
|
623
765
|
self._add_saint_josephs_day(tr("San José"))
|
|
624
766
|
|
|
767
|
+
# Maundy Thursday.
|
|
625
768
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
626
769
|
|
|
627
|
-
if self._year
|
|
628
|
-
self._move_holiday(
|
|
770
|
+
if self._year != 2024:
|
|
771
|
+
self._move_holiday(
|
|
772
|
+
self._add_nativity_of_mary_day(
|
|
773
|
+
# Day of Our Lady of Victory.
|
|
774
|
+
tr("Día de Nuestra Señora la Virgen de la Victoria")
|
|
775
|
+
)
|
|
776
|
+
)
|
|
777
|
+
|
|
778
|
+
if self._year != 2023:
|
|
779
|
+
# Melilla Day.
|
|
780
|
+
self._move_holiday(self._add_holiday_sep_17(tr("Día de Melilla")))
|
|
781
|
+
|
|
782
|
+
if self._year == 2008:
|
|
783
|
+
# National Day.
|
|
784
|
+
self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
|
|
629
785
|
|
|
630
|
-
if self._year
|
|
786
|
+
if self._year == 2009:
|
|
787
|
+
# All Saints' Day.
|
|
788
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
789
|
+
|
|
790
|
+
# Constitution Day.
|
|
791
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
792
|
+
|
|
793
|
+
if self._year >= 2019:
|
|
794
|
+
# Immaculate Conception.
|
|
631
795
|
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
632
796
|
|
|
633
|
-
|
|
634
|
-
|
|
797
|
+
# Christmas Day.
|
|
798
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
635
799
|
|
|
636
|
-
if self._year
|
|
800
|
+
if self._year >= 2022:
|
|
637
801
|
# Eid al-Fitr.
|
|
638
802
|
self._add_eid_al_fitr_day(tr("Fiesta del Eid Fitr"))
|
|
639
803
|
|
|
@@ -647,90 +811,130 @@ class Spain(
|
|
|
647
811
|
self._add_eid_al_adha_day(name)
|
|
648
812
|
|
|
649
813
|
def _populate_subdiv_nc_public_holidays(self):
|
|
650
|
-
if self._year
|
|
814
|
+
if self._year >= 2013:
|
|
815
|
+
# Epiphany.
|
|
651
816
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
652
817
|
|
|
653
|
-
if self._year in {2010, 2012, 2014, 2015, 2019, 2020, 2021}:
|
|
818
|
+
if self._year in {2008, 2009, 2010, 2012, 2014, 2015, 2019, 2020, 2021, 2026}:
|
|
819
|
+
# Saint Joseph's Day.
|
|
654
820
|
self._add_saint_josephs_day(tr("San José"))
|
|
655
821
|
|
|
822
|
+
# Maundy Thursday.
|
|
656
823
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
657
824
|
|
|
825
|
+
# Easter Monday.
|
|
658
826
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
659
827
|
|
|
660
|
-
if self._year in {2011, 2013, 2015, 2016, 2017
|
|
828
|
+
if self._year in {2008, 2009, 2011, 2013, 2015, 2016, 2017, 2022, 2023, 2024, 2025}:
|
|
829
|
+
# Saint James' Day.
|
|
661
830
|
self._add_saint_james_day(tr("Santiago Apóstol"))
|
|
662
831
|
|
|
832
|
+
if self._year >= 2026:
|
|
833
|
+
# All Saints' Day.
|
|
834
|
+
self._move_holiday(self._add_all_saints_day(tr("Todos los Santos")))
|
|
835
|
+
|
|
663
836
|
# Saint Francis Xavier's Day.
|
|
664
837
|
self._move_holiday(self._add_holiday_dec_3(tr("San Francisco Javier")))
|
|
665
838
|
|
|
666
839
|
if self._year == 2020:
|
|
840
|
+
# Constitution Day.
|
|
667
841
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
668
842
|
|
|
669
|
-
|
|
670
|
-
|
|
843
|
+
# Christmas Day.
|
|
844
|
+
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
671
845
|
|
|
672
846
|
def _populate_subdiv_pv_public_holidays(self):
|
|
673
|
-
|
|
847
|
+
# Add when Epiphany (non-País Vasco Day years), Assumption Day,
|
|
848
|
+
# or All Saints' Day falls on Sunday.
|
|
849
|
+
if (
|
|
850
|
+
((self._year <= 2010 or self._year >= 2015) and self._is_sunday(JAN, 6))
|
|
851
|
+
or self._is_sunday(AUG, 15)
|
|
852
|
+
or self._is_sunday(NOV, 1)
|
|
853
|
+
):
|
|
854
|
+
# Saint Joseph's Day.
|
|
674
855
|
self._add_saint_josephs_day(tr("San José"))
|
|
675
856
|
|
|
857
|
+
# Maundy Thursday.
|
|
676
858
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
677
859
|
|
|
860
|
+
# Easter Monday.
|
|
678
861
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
679
862
|
|
|
680
|
-
if self._year not in {
|
|
681
|
-
|
|
863
|
+
if self._year not in {2012, 2014, 2018}:
|
|
864
|
+
# Saint James' Day.
|
|
865
|
+
self._add_observed(self._add_saint_james_day(tr("Santiago Apóstol")), rule=SUN_TO_NONE)
|
|
682
866
|
|
|
683
867
|
if 2011 <= self._year <= 2014:
|
|
684
868
|
# País Vasco Day.
|
|
685
869
|
self._add_holiday_oct_25(tr("Día del País Vasco"))
|
|
686
870
|
|
|
687
871
|
def _populate_subdiv_ri_public_holidays(self):
|
|
688
|
-
if self._year in {2010, 2012}:
|
|
872
|
+
if self._year in {2009, 2010, 2012}:
|
|
873
|
+
# Saint Joseph's Day.
|
|
689
874
|
self._add_saint_josephs_day(tr("San José"))
|
|
690
875
|
|
|
876
|
+
# Maundy Thursday.
|
|
691
877
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
692
878
|
|
|
693
|
-
if self._year not in {2010, 2012, 2018}:
|
|
879
|
+
if self._year not in {2009, 2010, 2012, 2018}:
|
|
880
|
+
# Easter Monday.
|
|
694
881
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
695
882
|
|
|
696
883
|
# La Rioja Day.
|
|
697
884
|
self._move_holiday(self._add_holiday_jun_9(tr("Día de La Rioja")))
|
|
698
885
|
|
|
699
|
-
|
|
886
|
+
# Add when Christmas Day (until 2016) falls on Sunday.
|
|
887
|
+
if (self._year <= 2016 and self._is_sunday(DEC, 25)) or self._year == 2008:
|
|
888
|
+
# Saint James' Day.
|
|
700
889
|
self._add_saint_james_day(tr("Santiago Apóstol"))
|
|
701
890
|
|
|
702
|
-
|
|
703
|
-
|
|
891
|
+
# Constitution Day.
|
|
892
|
+
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
704
893
|
|
|
705
|
-
if self._year
|
|
894
|
+
if self._year <= 2019:
|
|
895
|
+
# Immaculate Conception.
|
|
706
896
|
self._move_holiday(self._add_immaculate_conception_day(tr("Inmaculada Concepción")))
|
|
707
897
|
|
|
708
|
-
if self._year
|
|
898
|
+
if self._year >= 2022:
|
|
899
|
+
# Christmas Day.
|
|
709
900
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
710
901
|
|
|
711
902
|
def _populate_subdiv_vc_public_holidays(self):
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
903
|
+
# Saint Joseph's Day.
|
|
904
|
+
self._add_observed(self._add_saint_josephs_day(tr("San José")), rule=SUN_TO_NONE)
|
|
905
|
+
|
|
906
|
+
# Add when Saint Joseph's Day (until 2017) or Valencian Community Day falls on Sunday.
|
|
907
|
+
if (
|
|
908
|
+
(self._year <= 2017 and self._is_sunday(MAR, 19))
|
|
909
|
+
or self._is_sunday(OCT, 9)
|
|
910
|
+
or self._year in {2008, 2009}
|
|
911
|
+
):
|
|
912
|
+
# Maundy Thursday.
|
|
716
913
|
self._add_holy_thursday(tr("Jueves Santo"))
|
|
717
914
|
|
|
915
|
+
# Easter Monday.
|
|
718
916
|
self._add_easter_monday(tr("Lunes de Pascua"))
|
|
719
917
|
|
|
720
918
|
if self._year == 2011:
|
|
919
|
+
# Labor Day.
|
|
721
920
|
self._move_holiday(self._add_labor_day(tr("Fiesta del Trabajo")))
|
|
722
921
|
|
|
723
922
|
if self._year >= 2019:
|
|
923
|
+
# Saint John the Baptist.
|
|
724
924
|
self._add_saint_johns_day(tr("San Juan"))
|
|
725
925
|
|
|
726
|
-
|
|
926
|
+
self._add_observed(
|
|
727
927
|
# Valencian Community Day.
|
|
728
|
-
self._add_holiday_oct_9(tr("Día de la Comunidad Valenciana"))
|
|
928
|
+
self._add_holiday_oct_9(tr("Día de la Comunidad Valenciana")),
|
|
929
|
+
rule=SUN_TO_NONE,
|
|
930
|
+
)
|
|
729
931
|
|
|
730
932
|
if self._year == 2015:
|
|
933
|
+
# Constitution Day.
|
|
731
934
|
self._move_holiday(self._add_holiday_dec_6(tr("Día de la Constitución Española")))
|
|
732
935
|
|
|
733
936
|
if self._year == 2016:
|
|
937
|
+
# Christmas Day.
|
|
734
938
|
self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
|
|
735
939
|
|
|
736
940
|
|
|
@@ -743,7 +947,7 @@ class ESP(Spain):
|
|
|
743
947
|
|
|
744
948
|
|
|
745
949
|
class SpainIslamicHolidays(_CustomIslamicHolidays):
|
|
746
|
-
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2010,
|
|
950
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2010, 2026)
|
|
747
951
|
EID_AL_ADHA_DATES = {
|
|
748
952
|
2010: (NOV, 17),
|
|
749
953
|
2012: (OCT, 25),
|
|
@@ -755,7 +959,7 @@ class SpainIslamicHolidays(_CustomIslamicHolidays):
|
|
|
755
959
|
2024: (JUN, 17),
|
|
756
960
|
}
|
|
757
961
|
|
|
758
|
-
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2022,
|
|
962
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2022, 2026)
|
|
759
963
|
EID_AL_FITR_DATES = {
|
|
760
964
|
2022: (MAY, 3),
|
|
761
965
|
2025: (MAR, 31),
|