holidays 0.66__py3-none-any.whl → 0.68__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 +1 -1
- holidays/countries/__init__.py +2 -0
- holidays/countries/australia.py +6 -6
- holidays/countries/azerbaijan.py +18 -2
- holidays/countries/cambodia.py +1 -1
- holidays/countries/chile.py +1 -1
- holidays/countries/cuba.py +1 -1
- holidays/countries/denmark.py +1 -1
- holidays/countries/finland.py +19 -19
- holidays/countries/greenland.py +22 -19
- holidays/countries/guatemala.py +1 -1
- holidays/countries/haiti.py +3 -3
- holidays/countries/hongkong.py +124 -174
- holidays/countries/isle_of_man.py +15 -11
- holidays/countries/kazakhstan.py +1 -1
- holidays/countries/kenya.py +201 -45
- holidays/countries/laos.py +2 -2
- holidays/countries/malaysia.py +21 -3
- holidays/countries/nicaragua.py +1 -1
- holidays/countries/panama.py +69 -31
- holidays/countries/peru.py +1 -1
- holidays/countries/saint_lucia.py +88 -0
- holidays/countries/seychelles.py +4 -4
- holidays/countries/singapore.py +1 -1
- holidays/countries/spain.py +9 -9
- holidays/countries/sri_lanka.py +1 -1
- holidays/countries/switzerland.py +1 -1
- holidays/countries/tuvalu.py +174 -0
- holidays/countries/united_kingdom.py +72 -56
- holidays/countries/united_states.py +141 -10
- holidays/countries/uruguay.py +1 -1
- holidays/financial/brasil_bolsa_balcao.py +1 -1
- holidays/holiday_base.py +62 -13
- holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_KE/LC_MESSAGES/KE.mo +0 -0
- holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/sw/LC_MESSAGES/KE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/registry.py +2 -0
- holidays/version.py +1 -1
- {holidays-0.66.dist-info → holidays-0.68.dist-info}/AUTHORS +1 -0
- {holidays-0.66.dist-info → holidays-0.68.dist-info}/METADATA +35 -19
- {holidays-0.66.dist-info → holidays-0.68.dist-info}/RECORD +100 -71
- {holidays-0.66.dist-info → holidays-0.68.dist-info}/WHEEL +1 -1
- {holidays-0.66.dist-info → holidays-0.68.dist-info}/LICENSE +0 -0
- {holidays-0.66.dist-info → holidays-0.68.dist-info}/top_level.txt +0 -0
holidays/countries/seychelles.py
CHANGED
|
@@ -68,10 +68,10 @@ class Seychelles(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
68
68
|
# Easter Monday.
|
|
69
69
|
self._add_easter_monday(tr("Easter Monday"))
|
|
70
70
|
|
|
71
|
-
#
|
|
71
|
+
# Labor Day.
|
|
72
72
|
self._add_observed(self._add_labor_day(tr("Labour Day")))
|
|
73
73
|
|
|
74
|
-
#
|
|
74
|
+
# Corpus Christi.
|
|
75
75
|
self._add_corpus_christi_day(tr("The Fete Dieu"))
|
|
76
76
|
|
|
77
77
|
if self._year <= 2016:
|
|
@@ -101,11 +101,11 @@ class Seychelles(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
101
101
|
# Assumption Day.
|
|
102
102
|
self._add_observed(self._add_assumption_of_mary_day(tr("Assumption Day")))
|
|
103
103
|
|
|
104
|
-
# All Saints Day.
|
|
104
|
+
# All Saints' Day.
|
|
105
105
|
self._add_observed(self._add_all_saints_day(tr("All Saints Day")))
|
|
106
106
|
|
|
107
107
|
self._add_observed(
|
|
108
|
-
#
|
|
108
|
+
# Immaculate Conception.
|
|
109
109
|
self._add_immaculate_conception_day(tr("The Feast of the Immaculate Conception"))
|
|
110
110
|
)
|
|
111
111
|
|
holidays/countries/singapore.py
CHANGED
holidays/countries/spain.py
CHANGED
|
@@ -89,7 +89,7 @@ class Spain(
|
|
|
89
89
|
def _populate_public_holidays(self):
|
|
90
90
|
if self._year not in {2012, 2017, 2023}:
|
|
91
91
|
# New Year's Day.
|
|
92
|
-
self._add_new_years_day(tr("Año
|
|
92
|
+
self._add_new_years_day(tr("Año Nuevo"))
|
|
93
93
|
|
|
94
94
|
if self._year not in {2013, 2019}:
|
|
95
95
|
# Epiphany.
|
|
@@ -127,7 +127,7 @@ class Spain(
|
|
|
127
127
|
|
|
128
128
|
def _populate_subdiv_an_public_holidays(self):
|
|
129
129
|
if self._year in {2012, 2017, 2023}:
|
|
130
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
130
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
131
131
|
|
|
132
132
|
if self._year in {2013, 2019}:
|
|
133
133
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
@@ -161,7 +161,7 @@ class Spain(
|
|
|
161
161
|
|
|
162
162
|
def _populate_subdiv_ar_public_holidays(self):
|
|
163
163
|
if self._year in {2012, 2017, 2023}:
|
|
164
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
164
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
165
165
|
|
|
166
166
|
if self._year in {2013, 2019}:
|
|
167
167
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
@@ -194,7 +194,7 @@ class Spain(
|
|
|
194
194
|
|
|
195
195
|
def _populate_subdiv_as_public_holidays(self):
|
|
196
196
|
if self._year in {2012, 2017, 2023}:
|
|
197
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
197
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
198
198
|
|
|
199
199
|
if self._year in {2013, 2019}:
|
|
200
200
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
@@ -262,7 +262,7 @@ class Spain(
|
|
|
262
262
|
|
|
263
263
|
def _populate_subdiv_ce_public_holidays(self):
|
|
264
264
|
if self._year == 2012:
|
|
265
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
265
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
266
266
|
|
|
267
267
|
if self._year in {2013, 2019}:
|
|
268
268
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
@@ -306,7 +306,7 @@ class Spain(
|
|
|
306
306
|
|
|
307
307
|
def _populate_subdiv_cl_public_holidays(self):
|
|
308
308
|
if self._year in {2017, 2023}:
|
|
309
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
309
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
310
310
|
|
|
311
311
|
if self._year in {2013, 2019}:
|
|
312
312
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
@@ -417,7 +417,7 @@ class Spain(
|
|
|
417
417
|
|
|
418
418
|
def _populate_subdiv_ex_public_holidays(self):
|
|
419
419
|
if self._year == 2012:
|
|
420
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
420
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
421
421
|
|
|
422
422
|
if self._year in {2013, 2019}:
|
|
423
423
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
@@ -498,7 +498,7 @@ class Spain(
|
|
|
498
498
|
|
|
499
499
|
def _populate_subdiv_mc_public_holidays(self):
|
|
500
500
|
if self._year in {2017, 2023}:
|
|
501
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
501
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
502
502
|
|
|
503
503
|
if self._year in {2013, 2019}:
|
|
504
504
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
|
@@ -557,7 +557,7 @@ class Spain(
|
|
|
557
557
|
|
|
558
558
|
def _populate_subdiv_ml_public_holidays(self):
|
|
559
559
|
if self._year == 2017:
|
|
560
|
-
self._move_holiday(self._add_new_years_day(tr("Año
|
|
560
|
+
self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
|
|
561
561
|
|
|
562
562
|
if self._year in {2013, 2019}:
|
|
563
563
|
self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
|
holidays/countries/sri_lanka.py
CHANGED
|
@@ -79,7 +79,7 @@ class Switzerland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays)
|
|
|
79
79
|
self._add_christmas_day(tr("Weihnachten"))
|
|
80
80
|
|
|
81
81
|
def _populate_subdiv_ag_public_holidays(self):
|
|
82
|
-
# Berchtold's Day.
|
|
82
|
+
# Saint Berchtold's Day.
|
|
83
83
|
self._add_new_years_day_two(tr("Berchtoldstag"))
|
|
84
84
|
|
|
85
85
|
# Good Friday.
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see AUTHORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
16
|
+
from holidays.observed_holiday_base import (
|
|
17
|
+
ObservedHolidayBase,
|
|
18
|
+
SAT_SUN_TO_NEXT_MON,
|
|
19
|
+
SAT_SUN_TO_NEXT_MON_TUE,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Tuvalu(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
24
|
+
"""
|
|
25
|
+
References:
|
|
26
|
+
- `Public holidays in Tuvalu <https://en.wikipedia.org/wiki/Public_holidays_in_Tuvalu>`_
|
|
27
|
+
- `Today's and Upcoming Holidays in Tuvalu <https://www.timeanddate.com/holidays/tuvalu/>`_
|
|
28
|
+
- `Public Holidays (Amendment) Act 1990 <https://www.paclii.org/cgi-bin/sinodisp/tv/legis/num_act/pha1990243/pha1990243.html>`_
|
|
29
|
+
- `Public Holidays Act 1 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/PRINCIPAL/1937/1937-0005/1937-0005_1.pdf>`_
|
|
30
|
+
- `Public Holidays (Amendment) Act 2018 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/AMENDING/Public%20Holidays%20(Amendment)%20Act/Public%20Holidays%20(Amendment)%20Act%202018/Public%20Holidays%20(Amendment)%20Act%202018.pdf>`_
|
|
31
|
+
- `Public Holidays (Amendment) Act 2020 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/AMENDING/2020/2020-0013/2020-0013.pdf>`_
|
|
32
|
+
- `Public Holidays Act 2 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/PRINCIPAL/1937/1937-0005/1937-0005_2.pdf>`_
|
|
33
|
+
- `Codes for the representation of names of countries and their subdivisions <https://www.iso.org/obp/ui/#iso:code:3166:TV>`_
|
|
34
|
+
- `TUVALU-NEWS.TV <https://web.archive.org/web/20140915180104/http://www.tuvalu-news.tv/archives/2007/01/island_special_public_holidays.html>`_
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
country = "TV"
|
|
38
|
+
default_language = "tvl"
|
|
39
|
+
# %s (observed).
|
|
40
|
+
observed_label = tr("%s (fakamatakuga)")
|
|
41
|
+
supported_languages = ("en_GB", "en_US", "tvl")
|
|
42
|
+
subdivisions = (
|
|
43
|
+
"FUN", # Funafuti.
|
|
44
|
+
"NIT", # Niutao.
|
|
45
|
+
"NKF", # Nukufetau.
|
|
46
|
+
"NKL", # Nukulaelae.
|
|
47
|
+
"NMA", # Nanumea.
|
|
48
|
+
"NMG", # Nanumaga.
|
|
49
|
+
"NUI", # Nui.
|
|
50
|
+
"VAI", # Vaitupu.
|
|
51
|
+
)
|
|
52
|
+
subdivisions_aliases = {
|
|
53
|
+
# Town/Island Councils.
|
|
54
|
+
"Funafuti": "FUN",
|
|
55
|
+
"Niutao": "NIT",
|
|
56
|
+
"Nukufetau": "NKF",
|
|
57
|
+
"Nukulaelae": "NKL",
|
|
58
|
+
"Nanumea": "NMA",
|
|
59
|
+
"Nanumaga": "NMG",
|
|
60
|
+
"Nanumanga": "NMG", # Ex-ISO code alias
|
|
61
|
+
"Nui": "NUI",
|
|
62
|
+
"Vaitupu": "VAI",
|
|
63
|
+
}
|
|
64
|
+
# Tuvalu became fully independent of the United Kingdom on October 1, 1978
|
|
65
|
+
# Tuvalu's PUBLIC HOLIDAYS (AMENDMENT) ACT 1990 (Act 2 of 1990)
|
|
66
|
+
# It was first proclaimed on FEB 7th, 1990
|
|
67
|
+
start_year = 1990
|
|
68
|
+
|
|
69
|
+
def __init__(self, *args, **kwargs):
|
|
70
|
+
ChristianHolidays.__init__(self)
|
|
71
|
+
InternationalHolidays.__init__(self)
|
|
72
|
+
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
|
|
73
|
+
super().__init__(*args, **kwargs)
|
|
74
|
+
|
|
75
|
+
def _populate_public_holidays(self):
|
|
76
|
+
# New Year's Day.
|
|
77
|
+
self._add_observed(self._add_new_years_day(tr("Tausaga Fou")))
|
|
78
|
+
|
|
79
|
+
if self._year <= 2020:
|
|
80
|
+
# Commonwealth Day.
|
|
81
|
+
self._add_holiday_2nd_mon_of_mar(tr("Aso Atefenua"))
|
|
82
|
+
|
|
83
|
+
# Good Friday.
|
|
84
|
+
self._add_good_friday(tr("Aso toe tu"))
|
|
85
|
+
|
|
86
|
+
# Easter Monday.
|
|
87
|
+
self._add_easter_monday(tr("Toe Tu aso gafua"))
|
|
88
|
+
|
|
89
|
+
# Gospel Day.
|
|
90
|
+
self._add_holiday_1_day_past_2nd_sun_of_may(tr("Te Aso o te Tala Lei"))
|
|
91
|
+
|
|
92
|
+
self._add_holiday_2nd_sat_of_jun(
|
|
93
|
+
# King's Birthday.
|
|
94
|
+
tr("Asofanau Tupu")
|
|
95
|
+
if self._year >= 2023
|
|
96
|
+
# Queen's Birthday.
|
|
97
|
+
else tr("Asofanau Fafine")
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# National Children's Day.
|
|
101
|
+
name = tr("Aso Tamaliki")
|
|
102
|
+
if self._year >= 2019:
|
|
103
|
+
# National Youth Day.
|
|
104
|
+
self._add_holiday_1st_mon_of_aug(tr("Aso tupulaga"))
|
|
105
|
+
|
|
106
|
+
# National Children's Day.
|
|
107
|
+
self._add_holiday_1_day_past_2nd_sun_of_oct(name)
|
|
108
|
+
else:
|
|
109
|
+
# National Children's Day.
|
|
110
|
+
self._add_holiday_1st_mon_of_aug(name)
|
|
111
|
+
|
|
112
|
+
# Tuvalu Day.
|
|
113
|
+
name = tr("Tutokotasi")
|
|
114
|
+
self._add_observed(self._add_holiday_oct_1(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
115
|
+
self._add_observed(self._add_holiday_oct_2(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
116
|
+
|
|
117
|
+
# https://en.wikipedia.org/wiki/King%27s_Official_Birthday#Tuvalu
|
|
118
|
+
if self._year <= 2022:
|
|
119
|
+
# Heir to the Throne's Birthday.
|
|
120
|
+
self._add_holiday_2nd_mon_of_nov(tr("Aso fanau o te sui ote Tupu"))
|
|
121
|
+
|
|
122
|
+
# Christmas Day.
|
|
123
|
+
self._add_observed(self._add_christmas_day(tr("Kilisimasi")), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
124
|
+
self._add_observed(
|
|
125
|
+
# Boxing Day.
|
|
126
|
+
self._add_christmas_day_two(tr("Aso Faipele")),
|
|
127
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
def _populate_subdiv_fun_public_holidays(self):
|
|
131
|
+
# The Day of the Bombing.
|
|
132
|
+
self._add_holiday_apr_23(tr("Te Aso o te Paula"))
|
|
133
|
+
|
|
134
|
+
# Cyclone Day.
|
|
135
|
+
self._add_holiday_oct_21(tr("Aso o te matagi"))
|
|
136
|
+
|
|
137
|
+
def _populate_subdiv_nit_public_holidays(self):
|
|
138
|
+
# Niutao Day.
|
|
139
|
+
self._add_holiday_sep_17(tr("Te Aso o te Setema"))
|
|
140
|
+
|
|
141
|
+
def _populate_subdiv_nkf_public_holidays(self):
|
|
142
|
+
# Nukufetau Day.
|
|
143
|
+
self._add_holiday_feb_11(tr("Te Aso O Tutasi"))
|
|
144
|
+
|
|
145
|
+
def _populate_subdiv_nkl_public_holidays(self):
|
|
146
|
+
# Gospel Day.
|
|
147
|
+
self._add_holiday_may_10(tr("Te Aso o te Tala Lei"))
|
|
148
|
+
|
|
149
|
+
def _populate_subdiv_nma_public_holidays(self):
|
|
150
|
+
# Golden Jubilee.
|
|
151
|
+
self._add_holiday_jan_8(tr("Te Po o Tefolaha"))
|
|
152
|
+
|
|
153
|
+
# Big Day.
|
|
154
|
+
self._add_holiday_feb_3(tr("Po Lahi"))
|
|
155
|
+
|
|
156
|
+
def _populate_subdiv_nmg_public_holidays(self):
|
|
157
|
+
# Nanumaga Day.
|
|
158
|
+
self._add_holiday_apr_15(tr("Aho o te Fakavae"))
|
|
159
|
+
|
|
160
|
+
def _populate_subdiv_nui_public_holidays(self):
|
|
161
|
+
# Day of the Flood.
|
|
162
|
+
self._add_holiday_feb_16(tr("Bogin te Ieka"))
|
|
163
|
+
|
|
164
|
+
def _populate_subdiv_vai_public_holidays(self):
|
|
165
|
+
# Happy Day.
|
|
166
|
+
self._add_holiday_nov_25(tr("Te Aso Fiafia"))
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class TV(Tuvalu):
|
|
170
|
+
pass
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
class TUV(Tuvalu):
|
|
174
|
+
pass
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from gettext import gettext as tr
|
|
13
14
|
from typing import Union
|
|
14
15
|
|
|
15
16
|
from holidays.calendars.gregorian import APR, MAY, JUN, JUL, SEP, DEC
|
|
@@ -37,7 +38,9 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
37
38
|
"""
|
|
38
39
|
|
|
39
40
|
country = "GB"
|
|
40
|
-
|
|
41
|
+
default_language = "en_GB"
|
|
42
|
+
# %s (observed).
|
|
43
|
+
observed_label = tr("%s (observed)")
|
|
41
44
|
subdivisions: Union[tuple[()], tuple[str, ...]] = (
|
|
42
45
|
"ENG", # England
|
|
43
46
|
"NIR", # Northern Ireland
|
|
@@ -50,6 +53,7 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
50
53
|
"Scotland": "SCT",
|
|
51
54
|
"Wales": "WLS",
|
|
52
55
|
}
|
|
56
|
+
supported_languages = ("en_GB", "en_US", "th")
|
|
53
57
|
_deprecated_subdivisions = ("UK",)
|
|
54
58
|
# Bank Holidays Act 1871
|
|
55
59
|
start_year = 1872
|
|
@@ -64,25 +68,25 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
64
68
|
super().__init__(*args, **kwargs)
|
|
65
69
|
|
|
66
70
|
def _populate_public_holidays(self) -> None:
|
|
67
|
-
# Good Friday
|
|
68
|
-
self._add_good_friday("Good Friday")
|
|
71
|
+
# Good Friday.
|
|
72
|
+
self._add_good_friday(tr("Good Friday"))
|
|
69
73
|
|
|
70
|
-
# May Day bank holiday (first Monday in May)
|
|
71
74
|
if self._year >= 1978:
|
|
72
|
-
|
|
75
|
+
# May Day.
|
|
76
|
+
name = tr("May Day")
|
|
73
77
|
if self._year in {1995, 2020}:
|
|
74
78
|
self._add_holiday_may_8(name)
|
|
75
79
|
else:
|
|
76
80
|
self._add_holiday_1st_mon_of_may(name)
|
|
77
81
|
|
|
78
|
-
# Spring bank holiday (last Monday in May)
|
|
79
82
|
if self._year >= 1971:
|
|
80
83
|
spring_bank_dates = {
|
|
81
84
|
2002: (JUN, 4),
|
|
82
85
|
2012: (JUN, 4),
|
|
83
86
|
2022: (JUN, 2),
|
|
84
87
|
}
|
|
85
|
-
|
|
88
|
+
# Spring Bank Holiday.
|
|
89
|
+
name = tr("Spring Bank Holiday")
|
|
86
90
|
if self._year in spring_bank_dates:
|
|
87
91
|
self._add_holiday(name, spring_bank_dates[self._year])
|
|
88
92
|
else:
|
|
@@ -90,94 +94,97 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
90
94
|
|
|
91
95
|
def _populate_subdiv_holidays(self):
|
|
92
96
|
if self.subdiv != "SCT":
|
|
93
|
-
# New Year's Day
|
|
94
97
|
if self._year >= 1975:
|
|
95
|
-
|
|
98
|
+
# New Year's Day.
|
|
99
|
+
self._add_observed(self._add_new_years_day(tr("New Year's Day")))
|
|
96
100
|
|
|
97
|
-
# Christmas Day
|
|
98
101
|
self._add_observed(
|
|
99
|
-
|
|
102
|
+
# Christmas Day.
|
|
103
|
+
self._add_christmas_day(tr("Christmas Day")),
|
|
104
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
100
105
|
)
|
|
101
106
|
|
|
102
|
-
# Boxing Day
|
|
103
107
|
self._add_observed(
|
|
104
|
-
|
|
108
|
+
# Boxing Day.
|
|
109
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
110
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
105
111
|
)
|
|
106
112
|
|
|
107
113
|
super()._populate_subdiv_holidays()
|
|
108
114
|
|
|
109
115
|
def _populate_subdiv_eng_public_holidays(self):
|
|
110
|
-
# Easter Monday
|
|
111
|
-
self._add_easter_monday("Easter Monday")
|
|
116
|
+
# Easter Monday.
|
|
117
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
112
118
|
|
|
113
|
-
# Whit Monday.
|
|
114
119
|
if self._year <= 1970:
|
|
115
|
-
|
|
120
|
+
# Whit Monday.
|
|
121
|
+
self._add_whit_monday(tr("Whit Monday"))
|
|
116
122
|
|
|
117
|
-
# Late Summer bank holiday (last Monday in August)
|
|
118
123
|
if self._year >= 1971:
|
|
119
|
-
|
|
124
|
+
# Late Summer Bank Holiday.
|
|
125
|
+
self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
|
|
120
126
|
|
|
121
127
|
def _populate_subdiv_nir_public_holidays(self):
|
|
122
128
|
if self._year >= 1903:
|
|
123
|
-
# Saint Patrick's Day
|
|
124
|
-
self._add_observed(self._add_holiday_mar_17("Saint Patrick's Day"))
|
|
129
|
+
# Saint Patrick's Day.
|
|
130
|
+
self._add_observed(self._add_holiday_mar_17(tr("Saint Patrick's Day")))
|
|
125
131
|
|
|
126
|
-
# Easter Monday
|
|
127
|
-
self._add_easter_monday("Easter Monday")
|
|
132
|
+
# Easter Monday.
|
|
133
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
128
134
|
|
|
129
|
-
# Whit Monday.
|
|
130
135
|
if self._year <= 1970:
|
|
131
|
-
|
|
136
|
+
# Whit Monday.
|
|
137
|
+
self._add_whit_monday(tr("Whit Monday"))
|
|
132
138
|
|
|
133
|
-
# Battle of the Boyne
|
|
134
|
-
self._add_observed(self._add_holiday_jul_12("Battle of the Boyne"))
|
|
139
|
+
# Battle of the Boyne.
|
|
140
|
+
self._add_observed(self._add_holiday_jul_12(tr("Battle of the Boyne")))
|
|
135
141
|
|
|
136
|
-
# Late Summer bank holiday (last Monday in August)
|
|
137
142
|
if self._year >= 1971:
|
|
138
|
-
|
|
143
|
+
# Late Summer Bank Holiday.
|
|
144
|
+
self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
|
|
139
145
|
|
|
140
146
|
def _populate_subdiv_sct_public_holidays(self):
|
|
141
|
-
# New Year's Day
|
|
142
|
-
jan_1 = self._add_new_years_day("New Year's Day")
|
|
147
|
+
# New Year's Day.
|
|
148
|
+
jan_1 = self._add_new_years_day(tr("New Year's Day"))
|
|
143
149
|
|
|
144
|
-
# New Year Holiday
|
|
145
150
|
self._add_observed(
|
|
146
|
-
|
|
151
|
+
# New Year Holiday.
|
|
152
|
+
self._add_new_years_day_two(tr("New Year Holiday")),
|
|
147
153
|
rule=SAT_SUN_TO_NEXT_MON_TUE + MON_TO_NEXT_TUE,
|
|
148
154
|
)
|
|
149
155
|
self._add_observed(jan_1)
|
|
150
156
|
|
|
151
|
-
# Summer
|
|
152
|
-
self._add_holiday_1st_mon_of_aug("Summer Bank Holiday")
|
|
157
|
+
# Summer Bank Holiday.
|
|
158
|
+
self._add_holiday_1st_mon_of_aug(tr("Summer Bank Holiday"))
|
|
153
159
|
|
|
154
160
|
if self._year >= 2006:
|
|
155
|
-
# Saint Andrew's Day
|
|
156
|
-
self._add_observed(self._add_holiday_nov_30("Saint Andrew's Day"))
|
|
161
|
+
# Saint Andrew's Day.
|
|
162
|
+
self._add_observed(self._add_holiday_nov_30(tr("Saint Andrew's Day")))
|
|
157
163
|
|
|
158
|
-
# Christmas Day
|
|
159
164
|
self._add_observed(
|
|
160
|
-
|
|
165
|
+
# Christmas Day.
|
|
166
|
+
self._add_christmas_day(tr("Christmas Day")),
|
|
161
167
|
rule=SAT_SUN_TO_NEXT_MON_TUE if self._year >= 1974 else SAT_SUN_TO_NEXT_MON,
|
|
162
168
|
)
|
|
163
169
|
|
|
164
170
|
if self._year >= 1974:
|
|
165
|
-
# Boxing Day
|
|
166
171
|
self._add_observed(
|
|
167
|
-
|
|
172
|
+
# Boxing Day.
|
|
173
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
174
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
168
175
|
)
|
|
169
176
|
|
|
170
177
|
def _populate_subdiv_wls_public_holidays(self):
|
|
171
|
-
# Easter Monday
|
|
172
|
-
self._add_easter_monday("Easter Monday")
|
|
178
|
+
# Easter Monday.
|
|
179
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
173
180
|
|
|
174
|
-
# Whit Monday.
|
|
175
181
|
if self._year <= 1970:
|
|
176
|
-
|
|
182
|
+
# Whit Monday.
|
|
183
|
+
self._add_whit_monday(tr("Whit Monday"))
|
|
177
184
|
|
|
178
|
-
# Late Summer bank holiday (last Monday in August)
|
|
179
185
|
if self._year >= 1971:
|
|
180
|
-
|
|
186
|
+
# Late Summer Bank Holiday.
|
|
187
|
+
self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
|
|
181
188
|
|
|
182
189
|
|
|
183
190
|
class UK(UnitedKingdom):
|
|
@@ -194,15 +201,24 @@ class GBR(UnitedKingdom):
|
|
|
194
201
|
|
|
195
202
|
class UnitedKingdomStaticHolidays:
|
|
196
203
|
special_public_holidays = {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
204
|
+
# Silver Jubilee of Elizabeth II.
|
|
205
|
+
1977: (JUN, 7, tr("Silver Jubilee of Elizabeth II")),
|
|
206
|
+
# Wedding of Charles and Diana.
|
|
207
|
+
1981: (JUL, 29, tr("Wedding of Charles and Diana")),
|
|
208
|
+
# Millennium Celebrations.
|
|
209
|
+
1999: (DEC, 31, tr("Millennium Celebrations")),
|
|
210
|
+
# Golden Jubilee of Elizabeth II.
|
|
211
|
+
2002: (JUN, 3, tr("Golden Jubilee of Elizabeth II")),
|
|
212
|
+
# Wedding of William and Catherine.
|
|
213
|
+
2011: (APR, 29, tr("Wedding of William and Catherine")),
|
|
214
|
+
# Diamond Jubilee of Elizabeth II.
|
|
215
|
+
2012: (JUN, 5, tr("Diamond Jubilee of Elizabeth II")),
|
|
203
216
|
2022: (
|
|
204
|
-
|
|
205
|
-
(
|
|
217
|
+
# Platinum Jubilee of Elizabeth II.
|
|
218
|
+
(JUN, 3, tr("Platinum Jubilee of Elizabeth II")),
|
|
219
|
+
# State Funeral of Queen Elizabeth II.
|
|
220
|
+
(SEP, 19, tr("State Funeral of Queen Elizabeth II")),
|
|
206
221
|
),
|
|
207
|
-
|
|
222
|
+
# Coronation of Charles III.
|
|
223
|
+
2023: (MAY, 8, tr("Coronation of Charles III")),
|
|
208
224
|
}
|