holidays 0.66__py3-none-any.whl → 0.67__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/countries/__init__.py +2 -0
- holidays/countries/australia.py +6 -6
- 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/laos.py +2 -2
- 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_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/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/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/no/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/GL.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/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.67.dist-info}/AUTHORS +1 -0
- {holidays-0.66.dist-info → holidays-0.67.dist-info}/METADATA +33 -17
- {holidays-0.66.dist-info → holidays-0.67.dist-info}/RECORD +90 -64
- {holidays-0.66.dist-info → holidays-0.67.dist-info}/LICENSE +0 -0
- {holidays-0.66.dist-info → holidays-0.67.dist-info}/WHEEL +0 -0
- {holidays-0.66.dist-info → holidays-0.67.dist-info}/top_level.txt +0 -0
holidays/countries/panama.py
CHANGED
|
@@ -10,66 +10,94 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.calendars.gregorian import JUL
|
|
16
|
+
from holidays.constants import BANK, PUBLIC
|
|
17
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
14
18
|
from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
|
|
15
19
|
|
|
16
20
|
|
|
17
|
-
class Panama(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
21
|
+
class Panama(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
|
|
18
22
|
"""
|
|
19
23
|
References:
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Panama
|
|
25
|
+
- `Labor Code 1947 <https://docs.panama.justia.com/federales/leyes/67-de-1947-nov-26-1947.pdf>`_
|
|
26
|
+
- `Cabinet Decree #347 of 1969 <https://docs.panama.justia.com/federales/decretos-de-gabinete/decreto-de-gabinete-347-de-1969-nov-14-1969.pdf>`_
|
|
27
|
+
- `Labor Code 1971 <https://www.mitradel.gob.pa/wp-content/uploads/2016/12/c%C3%B3digo-detrabajo.pdf>`_
|
|
28
|
+
- `Law #4 of Jun 25, 1990 <https://s3-legispan.asamblea.gob.pa/legispan/NORMAS/1990/1990/LEY/Administrador%20Legispan_21570_1990_7_2_ASAMBLEA%20LEGISLATIVA_4.pdf>`_
|
|
29
|
+
- `Law #55 of Nov 7, 2001 <https://docs.panama.justia.com/federales/leyes/55-de-2001-nov-14-2001.pdf>`_
|
|
22
30
|
"""
|
|
23
31
|
|
|
24
32
|
country = "PA"
|
|
25
|
-
|
|
33
|
+
default_language = "es"
|
|
34
|
+
# %s (observed).
|
|
35
|
+
observed_label = tr("%s (puente)")
|
|
36
|
+
supported_categories = (BANK, PUBLIC)
|
|
37
|
+
supported_languages = ("en_US", "es", "uk")
|
|
38
|
+
start_year = 1948
|
|
26
39
|
|
|
27
40
|
def __init__(self, *args, **kwargs):
|
|
28
41
|
ChristianHolidays.__init__(self)
|
|
29
42
|
InternationalHolidays.__init__(self)
|
|
43
|
+
StaticHolidays.__init__(self, PanamaStaticHolidays)
|
|
30
44
|
kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
|
|
45
|
+
kwargs.setdefault("observed_since", 1972)
|
|
31
46
|
super().__init__(*args, **kwargs)
|
|
32
47
|
|
|
33
48
|
def _populate_public_holidays(self):
|
|
34
|
-
# New Year's Day
|
|
35
|
-
self._add_observed(self._add_new_years_day("
|
|
49
|
+
# New Year's Day.
|
|
50
|
+
self._add_observed(self._add_new_years_day(tr("Año Nuevo")))
|
|
36
51
|
|
|
37
|
-
|
|
38
|
-
|
|
52
|
+
if self._year >= 1972:
|
|
53
|
+
# Martyrs' Day.
|
|
54
|
+
self._add_observed(self._add_holiday_jan_9(tr("Día de los Mártires")))
|
|
39
55
|
|
|
40
|
-
|
|
41
|
-
|
|
56
|
+
if self._year <= 1971:
|
|
57
|
+
# Constitution Day.
|
|
58
|
+
self._add_holiday_mar_1(tr("Día de la Constitución"))
|
|
42
59
|
|
|
43
|
-
#
|
|
44
|
-
self.
|
|
60
|
+
# Carnival Tuesday.
|
|
61
|
+
self._add_carnival_tuesday(tr("Martes de Carnaval"))
|
|
45
62
|
|
|
46
|
-
#
|
|
47
|
-
self.
|
|
63
|
+
# Good Friday.
|
|
64
|
+
self._add_good_friday(tr("Viernes Santo"))
|
|
48
65
|
|
|
49
|
-
#
|
|
50
|
-
self.
|
|
66
|
+
# Labor Day.
|
|
67
|
+
self._add_observed(self._add_labor_day(tr("Día del Trabajo")))
|
|
51
68
|
|
|
52
|
-
#
|
|
53
|
-
self.
|
|
69
|
+
# Separation Day.
|
|
70
|
+
self._add_observed(self._add_holiday_nov_3(tr("Separación de Panamá de Colombia")))
|
|
54
71
|
|
|
55
|
-
#
|
|
56
|
-
self.
|
|
72
|
+
# Law #55 of Nov 7, 2001.
|
|
73
|
+
if self._year >= 2002:
|
|
74
|
+
# Colon Day.
|
|
75
|
+
self._add_observed(self._add_holiday_nov_5(tr("Día de Colón")))
|
|
57
76
|
|
|
58
|
-
#
|
|
59
|
-
self.
|
|
77
|
+
# Cabinet Decree #347 of 1969.
|
|
78
|
+
if self._year >= 1969:
|
|
79
|
+
# Los Santos Uprising Day.
|
|
80
|
+
self._add_observed(self._add_holiday_nov_10(tr("Primer Grito de Independencia")))
|
|
60
81
|
|
|
61
|
-
# Independence Day
|
|
62
|
-
self._add_observed(self._add_holiday_nov_28("
|
|
82
|
+
# Independence Day.
|
|
83
|
+
self._add_observed(self._add_holiday_nov_28(tr("Independencia de Panamá de España")))
|
|
63
84
|
|
|
64
|
-
# Mother's Day
|
|
65
|
-
self._add_observed(self._add_holiday_dec_8("
|
|
85
|
+
# Mother's Day.
|
|
86
|
+
self._add_observed(self._add_holiday_dec_8(tr("Día de la Madre")))
|
|
66
87
|
|
|
67
|
-
# National Mourning Day
|
|
68
88
|
if self._year >= 2022:
|
|
69
|
-
|
|
89
|
+
# National Mourning Day.
|
|
90
|
+
self._add_observed(self._add_holiday_dec_20(tr("Día de Duelo Nacional")))
|
|
91
|
+
|
|
92
|
+
# Christmas Day.
|
|
93
|
+
self._add_observed(self._add_christmas_day(tr("Navidad")))
|
|
94
|
+
|
|
95
|
+
def _populate_bank_holidays(self):
|
|
96
|
+
# Carnival Monday.
|
|
97
|
+
self._add_carnival_monday(tr("Lunes de Carnaval"))
|
|
70
98
|
|
|
71
|
-
#
|
|
72
|
-
self.
|
|
99
|
+
# National Symbols Day.
|
|
100
|
+
self._add_holiday_nov_4(tr("Día de los Símbolos Patrios"))
|
|
73
101
|
|
|
74
102
|
|
|
75
103
|
class PA(Panama):
|
|
@@ -78,3 +106,13 @@ class PA(Panama):
|
|
|
78
106
|
|
|
79
107
|
class PAN(Panama):
|
|
80
108
|
pass
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class PanamaStaticHolidays:
|
|
112
|
+
# Presidential Inauguration Day.
|
|
113
|
+
presidential_inauguration_day = tr("Toma posesión del Presidente de la república")
|
|
114
|
+
special_public_holidays = {
|
|
115
|
+
2014: (JUL, 1, presidential_inauguration_day),
|
|
116
|
+
2019: (JUL, 1, presidential_inauguration_day),
|
|
117
|
+
2024: (JUL, 1, presidential_inauguration_day),
|
|
118
|
+
}
|
holidays/countries/peru.py
CHANGED
|
@@ -50,7 +50,7 @@ class Peru(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
50
50
|
# Labor Day.
|
|
51
51
|
self._add_labor_day(tr("Día del Trabajo"))
|
|
52
52
|
|
|
53
|
-
# Saint Peter and Saint Paul.
|
|
53
|
+
# Saint Peter and Saint Paul's Day.
|
|
54
54
|
self._add_saints_peter_and_paul_day(tr("San Pedro y San Pablo"))
|
|
55
55
|
|
|
56
56
|
# Independence Day.
|
|
@@ -0,0 +1,88 @@
|
|
|
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 ObservedHolidayBase, SUN_TO_NEXT_MON, SUN_TO_NEXT_TUE
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class SaintLucia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
20
|
+
"""
|
|
21
|
+
References:
|
|
22
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Saint_Lucia
|
|
23
|
+
- https://www.timeanddate.com/holidays/saint-lucia/
|
|
24
|
+
- https://archive.stlucia.gov.lc/saint_lucia/public_holidays.htm
|
|
25
|
+
- https://archive.stlucia.gov.lc/stluciasilver/national_holidays.htm
|
|
26
|
+
- https://web.archive.org/web/20160314100648/http://www.stluciachamber.org/uploadedImages/contentImg/file/List%20of%20Holidays%20for%202015%20(1).pdf
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
country = "LC"
|
|
30
|
+
default_language = "en_LC"
|
|
31
|
+
# %s (observed).
|
|
32
|
+
observed_label = tr("%s (observed)")
|
|
33
|
+
supported_languages = ("en_LC", "en_US")
|
|
34
|
+
start_year = 1979
|
|
35
|
+
|
|
36
|
+
def __init__(self, *args, **kwargs):
|
|
37
|
+
ChristianHolidays.__init__(self)
|
|
38
|
+
InternationalHolidays.__init__(self)
|
|
39
|
+
kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
|
|
40
|
+
super().__init__(*args, **kwargs)
|
|
41
|
+
|
|
42
|
+
def _populate_public_holidays(self):
|
|
43
|
+
# New Year's Day.
|
|
44
|
+
self._add_observed(self._add_new_years_day(tr("New Year's Day")), rule=SUN_TO_NEXT_TUE)
|
|
45
|
+
|
|
46
|
+
# New Year's Holiday.
|
|
47
|
+
self._add_observed(self._add_new_years_day_two(tr("New Year's Holiday")))
|
|
48
|
+
|
|
49
|
+
# Independence Day.
|
|
50
|
+
self._add_observed(self._add_holiday_feb_22(tr("Independence Day")))
|
|
51
|
+
|
|
52
|
+
# Good Friday.
|
|
53
|
+
self._add_good_friday(tr("Good Friday"))
|
|
54
|
+
|
|
55
|
+
# Easter Monday.
|
|
56
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
57
|
+
|
|
58
|
+
# Labor Day.
|
|
59
|
+
self._add_observed(self._add_labor_day(tr("Labour Day")))
|
|
60
|
+
|
|
61
|
+
# Whit Monday.
|
|
62
|
+
self._add_whit_monday(tr("Whit Monday"))
|
|
63
|
+
|
|
64
|
+
# Corpus Christi.
|
|
65
|
+
self._add_corpus_christi_day(tr("Corpus Christi"))
|
|
66
|
+
|
|
67
|
+
# Emancipation Day.
|
|
68
|
+
self._add_observed(self._add_holiday_aug_1(tr("Emancipation Day")))
|
|
69
|
+
|
|
70
|
+
# Thanksgiving Day.
|
|
71
|
+
self._add_holiday_1st_mon_of_oct(tr("Thanksgiving Day"))
|
|
72
|
+
|
|
73
|
+
# National Day.
|
|
74
|
+
self._add_observed(self._add_holiday_dec_13(tr("National Day")))
|
|
75
|
+
|
|
76
|
+
# Christmas Day.
|
|
77
|
+
self._add_observed(self._add_christmas_day(tr("Christmas Day")), rule=SUN_TO_NEXT_TUE)
|
|
78
|
+
|
|
79
|
+
# Boxing Day.
|
|
80
|
+
self._add_observed(self._add_christmas_day_two(tr("Boxing Day")))
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class LC(SaintLucia):
|
|
84
|
+
pass
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class LCA(SaintLucia):
|
|
88
|
+
pass
|
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
|