holidays 0.25__py3-none-any.whl → 0.27__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 +1 -1
- holidays/calendars/__init__.py +9 -7
- holidays/calendars/buddhist.py +445 -0
- holidays/calendars/chinese.py +1238 -431
- holidays/calendars/custom.py +1 -3
- holidays/calendars/hebrew.py +2 -2
- holidays/calendars/hindu.py +445 -0
- holidays/calendars/islamic.py +1347 -1347
- holidays/calendars/thai.py +229 -38
- holidays/countries/__init__.py +8 -0
- holidays/countries/albania.py +6 -17
- holidays/countries/andorra.py +2 -6
- holidays/countries/angola.py +53 -39
- holidays/countries/argentina.py +25 -35
- holidays/countries/armenia.py +1 -0
- holidays/countries/aruba.py +109 -48
- holidays/countries/australia.py +31 -69
- holidays/countries/austria.py +1 -0
- holidays/countries/azerbaijan.py +44 -71
- holidays/countries/bahrain.py +7 -7
- holidays/countries/bangladesh.py +1 -3
- holidays/countries/belarus.py +2 -3
- holidays/countries/belize.py +128 -0
- holidays/countries/bolivia.py +2 -6
- holidays/countries/bosnia_and_herzegovina.py +5 -17
- holidays/countries/botswana.py +37 -44
- holidays/countries/brazil.py +4 -7
- holidays/countries/brunei.py +427 -0
- holidays/countries/bulgaria.py +3 -6
- holidays/countries/burkina_faso.py +141 -0
- holidays/countries/burundi.py +2 -5
- holidays/countries/cambodia.py +323 -0
- holidays/countries/cameroon.py +183 -0
- holidays/countries/canada.py +20 -28
- holidays/countries/chad.py +133 -0
- holidays/countries/chile.py +6 -13
- holidays/countries/china.py +21 -25
- holidays/countries/colombia.py +18 -15
- holidays/countries/costa_rica.py +25 -27
- holidays/countries/cuba.py +28 -15
- holidays/countries/curacao.py +100 -46
- holidays/countries/cyprus.py +3 -6
- holidays/countries/czechia.py +4 -12
- holidays/countries/denmark.py +2 -3
- holidays/countries/dominican_republic.py +2 -3
- holidays/countries/ecuador.py +55 -54
- holidays/countries/egypt.py +2 -5
- holidays/countries/el_salvador.py +101 -0
- holidays/countries/eswatini.py +34 -44
- holidays/countries/ethiopia.py +7 -14
- holidays/countries/finland.py +2 -3
- holidays/countries/france.py +1 -0
- holidays/countries/gabon.py +139 -0
- holidays/countries/georgia.py +1 -0
- holidays/countries/germany.py +1 -0
- holidays/countries/greece.py +7 -6
- holidays/countries/honduras.py +17 -13
- holidays/countries/hongkong.py +117 -126
- holidays/countries/hungary.py +93 -92
- holidays/countries/iceland.py +1 -0
- holidays/countries/india.py +4 -11
- holidays/countries/indonesia.py +178 -142
- holidays/countries/ireland.py +5 -15
- holidays/countries/isle_of_man.py +23 -5
- holidays/countries/israel.py +12 -24
- holidays/countries/italy.py +6 -7
- holidays/countries/jamaica.py +10 -18
- holidays/countries/japan.py +11 -16
- holidays/countries/kazakhstan.py +7 -22
- holidays/countries/kenya.py +44 -26
- holidays/countries/kyrgyzstan.py +2 -5
- holidays/countries/latvia.py +2 -6
- holidays/countries/lesotho.py +52 -32
- holidays/countries/liechtenstein.py +1 -0
- holidays/countries/lithuania.py +4 -12
- holidays/countries/madagascar.py +3 -9
- holidays/countries/malawi.py +34 -26
- holidays/countries/malaysia.py +335 -343
- holidays/countries/marshall_islands.py +4 -9
- holidays/countries/mexico.py +2 -3
- holidays/countries/moldova.py +4 -6
- holidays/countries/monaco.py +17 -26
- holidays/countries/montenegro.py +34 -24
- holidays/countries/morocco.py +8 -5
- holidays/countries/mozambique.py +35 -31
- holidays/countries/namibia.py +54 -35
- holidays/countries/netherlands.py +1 -0
- holidays/countries/new_zealand.py +166 -134
- holidays/countries/nicaragua.py +27 -22
- holidays/countries/nigeria.py +6 -17
- holidays/countries/north_macedonia.py +3 -8
- holidays/countries/norway.py +2 -3
- holidays/countries/pakistan.py +73 -75
- holidays/countries/panama.py +25 -24
- holidays/countries/paraguay.py +55 -47
- holidays/countries/peru.py +1 -0
- holidays/countries/philippines.py +6 -2
- holidays/countries/poland.py +4 -9
- holidays/countries/portugal.py +4 -11
- holidays/countries/romania.py +4 -5
- holidays/countries/russia.py +1 -0
- holidays/countries/san_marino.py +26 -27
- holidays/countries/saudi_arabia.py +8 -22
- holidays/countries/serbia.py +22 -31
- holidays/countries/singapore.py +181 -189
- holidays/countries/slovakia.py +2 -4
- holidays/countries/south_africa.py +60 -62
- holidays/countries/south_korea.py +59 -26
- holidays/countries/spain.py +7 -10
- holidays/countries/sweden.py +2 -3
- holidays/countries/switzerland.py +1 -0
- holidays/countries/taiwan.py +20 -20
- holidays/countries/thailand.py +36 -82
- holidays/countries/turkey.py +1 -3
- holidays/countries/ukraine.py +7 -18
- holidays/countries/united_arab_emirates.py +23 -31
- holidays/countries/united_kingdom.py +124 -116
- holidays/countries/united_states.py +42 -72
- holidays/countries/uruguay.py +1 -0
- holidays/countries/vatican_city.py +64 -32
- holidays/countries/venezuela.py +9 -6
- holidays/countries/vietnam.py +6 -20
- holidays/countries/zambia.py +63 -33
- holidays/countries/zimbabwe.py +56 -37
- holidays/financial/european_central_bank.py +15 -16
- holidays/financial/ny_stock_exchange.py +80 -86
- holidays/groups/__init__.py +18 -0
- holidays/groups/buddhist.py +71 -0
- holidays/groups/chinese.py +235 -0
- holidays/groups/christian.py +483 -0
- holidays/groups/hindu.py +71 -0
- holidays/groups/international.py +157 -0
- holidays/groups/islamic.py +288 -0
- holidays/groups/thai.py +157 -0
- holidays/helpers.py +20 -0
- holidays/holiday_base.py +54 -76
- holidays/holiday_groups.py +11 -1053
- holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/am/LC_MESSAGES/ET.po +20 -15
- holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/CA.po +184 -0
- holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/ET.po +92 -0
- holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/UA.po +97 -0
- holidays/locale/be/LC_MESSAGES/BY.po +11 -13
- holidays/locale/bg/LC_MESSAGES/BG.po +13 -15
- holidays/locale/da/LC_MESSAGES/DK.po +13 -12
- holidays/locale/de/LC_MESSAGES/AT.po +14 -14
- holidays/locale/de/LC_MESSAGES/CH.po +91 -56
- holidays/locale/de/LC_MESSAGES/DE.po +32 -32
- holidays/locale/de/LC_MESSAGES/LI.po +23 -23
- holidays/locale/el/LC_MESSAGES/CY.po +16 -16
- holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/el/LC_MESSAGES/GR.po +21 -17
- holidays/locale/en/LC_MESSAGES/CA.po +43 -43
- holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AM.po +20 -20
- holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AR.po +34 -33
- holidays/locale/en_US/LC_MESSAGES/AT.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AW.po +87 -0
- holidays/locale/en_US/LC_MESSAGES/BG.po +13 -15
- holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BN.po +96 -0
- holidays/locale/en_US/LC_MESSAGES/BY.po +11 -13
- holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CA.po +70 -37
- holidays/locale/en_US/LC_MESSAGES/CH.po +91 -56
- holidays/locale/en_US/LC_MESSAGES/CL.po +39 -38
- holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CO.po +27 -27
- holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CR.po +19 -19
- holidays/locale/en_US/LC_MESSAGES/CU.po +10 -10
- holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CW.po +82 -0
- holidays/locale/en_US/LC_MESSAGES/CY.po +16 -16
- holidays/locale/en_US/LC_MESSAGES/DE.po +30 -30
- holidays/locale/en_US/LC_MESSAGES/DK.po +12 -11
- holidays/locale/en_US/LC_MESSAGES/DO.po +12 -12
- holidays/locale/en_US/LC_MESSAGES/EC.po +11 -12
- holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ET.po +20 -15
- holidays/locale/en_US/LC_MESSAGES/FI.po +15 -15
- holidays/locale/en_US/LC_MESSAGES/FR.po +27 -24
- holidays/locale/en_US/LC_MESSAGES/GE.po +23 -27
- holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GR.po +21 -17
- holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HN.po +17 -12
- holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HU.po +109 -0
- holidays/locale/en_US/LC_MESSAGES/IS.po +17 -17
- holidays/locale/en_US/LC_MESSAGES/JP.po +25 -25
- holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KH.po +139 -0
- holidays/locale/en_US/LC_MESSAGES/LI.po +22 -22
- holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MC.po +27 -27
- holidays/locale/en_US/LC_MESSAGES/MD.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/MX.po +9 -12
- holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NI.po +15 -15
- holidays/locale/en_US/LC_MESSAGES/NL.po +12 -12
- holidays/locale/en_US/LC_MESSAGES/NO.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/PE.po +30 -30
- holidays/locale/en_US/LC_MESSAGES/PL.po +38 -21
- holidays/locale/en_US/LC_MESSAGES/PT.po +39 -36
- holidays/locale/en_US/LC_MESSAGES/PY.po +16 -16
- holidays/locale/en_US/LC_MESSAGES/RO.po +12 -12
- holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RS.po +17 -19
- holidays/locale/en_US/LC_MESSAGES/RU.po +11 -10
- holidays/locale/en_US/LC_MESSAGES/SE.po +19 -19
- holidays/locale/en_US/LC_MESSAGES/SK.po +17 -18
- holidays/locale/en_US/LC_MESSAGES/TH.po +41 -41
- holidays/locale/en_US/LC_MESSAGES/UA.po +18 -19
- holidays/locale/en_US/LC_MESSAGES/UY.po +15 -15
- holidays/locale/en_US/LC_MESSAGES/VE.po +16 -16
- holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/es/LC_MESSAGES/AR.po +34 -33
- holidays/locale/es/LC_MESSAGES/CL.po +39 -38
- holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CO.po +24 -24
- holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CR.po +19 -19
- holidays/locale/es/LC_MESSAGES/CU.po +10 -10
- holidays/locale/es/LC_MESSAGES/DO.po +12 -12
- holidays/locale/es/LC_MESSAGES/EC.po +11 -12
- holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/es/LC_MESSAGES/HN.po +17 -12
- holidays/locale/es/LC_MESSAGES/MX.po +9 -12
- holidays/locale/es/LC_MESSAGES/NI.po +12 -12
- holidays/locale/es/LC_MESSAGES/PE.po +30 -30
- holidays/locale/es/LC_MESSAGES/PY.po +16 -16
- holidays/locale/es/LC_MESSAGES/UY.po +15 -15
- holidays/locale/es/LC_MESSAGES/VE.po +16 -16
- holidays/locale/fi/LC_MESSAGES/FI.po +16 -16
- holidays/locale/fr/LC_MESSAGES/CA.po +43 -43
- holidays/locale/fr/LC_MESSAGES/CH.po +91 -56
- holidays/locale/fr/LC_MESSAGES/FR.po +27 -24
- holidays/locale/fr/LC_MESSAGES/MC.po +23 -23
- holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/hu/LC_MESSAGES/HU.po +109 -0
- holidays/locale/hy/LC_MESSAGES/AM.po +16 -16
- holidays/locale/is/LC_MESSAGES/IS.po +18 -18
- holidays/locale/it/LC_MESSAGES/CH.po +91 -56
- holidays/locale/ja/LC_MESSAGES/JP.po +25 -25
- holidays/locale/ka/LC_MESSAGES/GE.po +23 -27
- holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/km/LC_MESSAGES/KH.po +139 -0
- holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/ms/LC_MESSAGES/BN.po +96 -0
- holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/AW.po +87 -0
- holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/CW.po +82 -0
- holidays/locale/nl/LC_MESSAGES/NL.po +13 -13
- holidays/locale/no/LC_MESSAGES/NO.po +14 -14
- holidays/locale/pap/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/pap/LC_MESSAGES/AW.po +87 -0
- holidays/locale/pap/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/pap/LC_MESSAGES/CW.po +82 -0
- holidays/locale/pl/LC_MESSAGES/PL.po +38 -21
- holidays/locale/pt_PT/LC_MESSAGES/PT.po +39 -36
- holidays/locale/ro/LC_MESSAGES/MD.po +14 -15
- holidays/locale/ro/LC_MESSAGES/RO.po +13 -14
- holidays/locale/ru/LC_MESSAGES/RU.po +11 -9
- holidays/locale/sk/LC_MESSAGES/SK.po +17 -18
- holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
- holidays/locale/sr/LC_MESSAGES/RS.po +15 -17
- holidays/locale/sv/LC_MESSAGES/FI.po +16 -16
- holidays/locale/sv/LC_MESSAGES/SE.po +20 -20
- holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BN.po +96 -0
- holidays/locale/th/LC_MESSAGES/CA.po +42 -42
- holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KH.po +145 -0
- holidays/locale/th/LC_MESSAGES/TH.po +41 -41
- holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AR.po +35 -35
- holidays/locale/uk/LC_MESSAGES/AT.po +15 -16
- holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AW.po +87 -0
- holidays/locale/uk/LC_MESSAGES/CH.po +92 -58
- holidays/locale/uk/LC_MESSAGES/CL.po +40 -40
- holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CO.po +28 -29
- holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CR.po +20 -21
- holidays/locale/uk/LC_MESSAGES/CU.po +11 -12
- holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CW.po +82 -0
- holidays/locale/uk/LC_MESSAGES/DE.po +33 -34
- holidays/locale/uk/LC_MESSAGES/DK.po +14 -14
- holidays/locale/uk/LC_MESSAGES/DO.po +13 -14
- holidays/locale/uk/LC_MESSAGES/EC.po +12 -14
- holidays/locale/uk/LC_MESSAGES/FI.po +17 -18
- holidays/locale/uk/LC_MESSAGES/FR.po +28 -26
- holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HN.po +18 -14
- holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HU.po +109 -0
- holidays/locale/uk/LC_MESSAGES/IS.po +19 -20
- holidays/locale/uk/LC_MESSAGES/LI.po +24 -25
- holidays/locale/uk/LC_MESSAGES/MC.po +27 -28
- holidays/locale/uk/LC_MESSAGES/MD.po +14 -15
- holidays/locale/uk/LC_MESSAGES/MX.po +10 -14
- holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NI.po +16 -17
- holidays/locale/uk/LC_MESSAGES/NL.po +14 -15
- holidays/locale/uk/LC_MESSAGES/NO.po +15 -16
- holidays/locale/uk/LC_MESSAGES/PE.po +31 -32
- holidays/locale/uk/LC_MESSAGES/PL.po +38 -21
- holidays/locale/uk/LC_MESSAGES/PY.po +17 -18
- holidays/locale/uk/LC_MESSAGES/RO.po +13 -14
- holidays/locale/uk/LC_MESSAGES/SE.po +21 -22
- holidays/locale/uk/LC_MESSAGES/SK.po +18 -20
- holidays/locale/uk/LC_MESSAGES/UA.po +17 -17
- holidays/locale/uk/LC_MESSAGES/UY.po +16 -17
- holidays/locale/uk/LC_MESSAGES/VE.po +17 -18
- holidays/registry.py +21 -12
- holidays/utils.py +87 -17
- {holidays-0.25.dist-info → holidays-0.27.dist-info}/METADATA +282 -265
- holidays-0.27.dist-info/RECORD +449 -0
- holidays-0.25.dist-info/RECORD +0 -390
- {holidays-0.25.dist-info → holidays-0.27.dist-info}/LICENSE +0 -0
- {holidays-0.25.dist-info → holidays-0.27.dist-info}/WHEEL +0 -0
- {holidays-0.25.dist-info → holidays-0.27.dist-info}/top_level.txt +0 -0
holidays/countries/angola.py
CHANGED
|
@@ -9,16 +9,14 @@
|
|
|
9
9
|
# Website: https://github.com/dr-prodigy/python-holidays
|
|
10
10
|
# License: MIT (see LICENSE file)
|
|
11
11
|
|
|
12
|
-
from datetime import date
|
|
13
12
|
from datetime import timedelta as td
|
|
14
13
|
|
|
15
|
-
from
|
|
16
|
-
|
|
17
|
-
from holidays.constants import JAN, FEB, MAR, APR, MAY, SEP, NOV, DEC
|
|
14
|
+
from holidays.constants import FEB, MAR, APR, SEP, NOV, DEC
|
|
18
15
|
from holidays.holiday_base import HolidayBase
|
|
16
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
19
17
|
|
|
20
18
|
|
|
21
|
-
class Angola(HolidayBase):
|
|
19
|
+
class Angola(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
22
20
|
"""
|
|
23
21
|
https://www.officeholidays.com/countries/angola/
|
|
24
22
|
https://www.timeanddate.com/holidays/angola/
|
|
@@ -26,25 +24,28 @@ class Angola(HolidayBase):
|
|
|
26
24
|
|
|
27
25
|
country = "AO"
|
|
28
26
|
|
|
29
|
-
def
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
27
|
+
def __init__(self, *args, **kwargs):
|
|
28
|
+
ChristianHolidays.__init__(self)
|
|
29
|
+
InternationalHolidays.__init__(self)
|
|
30
|
+
super().__init__(*args, **kwargs)
|
|
31
|
+
|
|
32
|
+
def _add_observed_holiday(self, dt, before: bool = True) -> None:
|
|
33
|
+
# As of 1995/1/1, whenever a public holiday falls on a Sunday,
|
|
34
|
+
# it rolls over to the following Monday
|
|
35
|
+
# Since 2018 when a public holiday falls on the Tuesday or Thursday
|
|
36
|
+
# the Monday or Friday is also a holiday
|
|
37
|
+
if self.observed and self._year >= 1995:
|
|
38
|
+
for name in self.get_list(dt):
|
|
39
|
+
if self._year <= 2017:
|
|
40
|
+
if self._is_sunday(dt):
|
|
41
|
+
self._add_holiday("%s (Observed)" % name, dt + td(days=+1))
|
|
42
42
|
else:
|
|
43
|
-
if self._is_tuesday(
|
|
44
|
-
self
|
|
45
|
-
elif self._is_thursday(
|
|
46
|
-
self
|
|
43
|
+
if self._is_tuesday(dt) and before:
|
|
44
|
+
self._add_holiday("%s (Day off)" % name, dt + td(days=-1))
|
|
45
|
+
elif self._is_thursday(dt):
|
|
46
|
+
self._add_holiday("%s (Day off)" % name, dt + td(days=+1))
|
|
47
47
|
|
|
48
|
+
def _populate(self, year: int) -> None:
|
|
48
49
|
# Observed since 1975
|
|
49
50
|
# TODO do more research on history of Angolan holidays
|
|
50
51
|
if year <= 1974:
|
|
@@ -52,36 +53,49 @@ class Angola(HolidayBase):
|
|
|
52
53
|
|
|
53
54
|
super()._populate(year)
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
# New Year's Day.
|
|
57
|
+
self._add_observed_holiday(self._add_new_years_day("Ano novo"), before=False)
|
|
56
58
|
# Since 2018, if the following year's New Year's Day falls on a
|
|
57
59
|
# Tuesday, the 31st of the current year is also a holiday.
|
|
58
60
|
if self.observed and self._is_monday(DEC, 31) and year >= 2018:
|
|
59
|
-
self
|
|
61
|
+
self._add_holiday("Ano novo (Day off)", DEC, 31)
|
|
62
|
+
|
|
63
|
+
# Good Friday.
|
|
64
|
+
self._add_good_friday("Sexta-feira Santa")
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
self
|
|
66
|
+
# Carnival.
|
|
67
|
+
self._add_observed_holiday(self._add_carnival_tuesday("Carnaval"))
|
|
63
68
|
|
|
64
|
-
#
|
|
65
|
-
|
|
66
|
-
_add_with_observed(easter_date + td(days=-47), "Carnaval")
|
|
69
|
+
# Liberation Movement Day.
|
|
70
|
+
self._add_observed_holiday(self._add_holiday("Dia do Início da Luta Armada", FEB, 4))
|
|
67
71
|
|
|
68
|
-
|
|
69
|
-
|
|
72
|
+
# Day off for International Woman's Day.
|
|
73
|
+
self._add_observed_holiday(self._add_womens_day("Dia Internacional da Mulher"))
|
|
70
74
|
|
|
75
|
+
# Southern Africa Liberation Day.
|
|
71
76
|
if year >= 2019:
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
self._add_observed_holiday(
|
|
78
|
+
self._add_holiday("Dia da Libertação da África Austral", MAR, 23)
|
|
74
79
|
)
|
|
75
80
|
|
|
76
|
-
|
|
77
|
-
|
|
81
|
+
# Peace Day.
|
|
82
|
+
self._add_observed_holiday(self._add_holiday("Dia da Paz e Reconciliação", APR, 4))
|
|
78
83
|
|
|
84
|
+
# May Day.
|
|
85
|
+
self._add_observed_holiday(self._add_labor_day("Dia Mundial do Trabalho"))
|
|
86
|
+
|
|
87
|
+
# National Hero Day.
|
|
79
88
|
if year >= 1980:
|
|
80
|
-
|
|
89
|
+
self._add_observed_holiday(self._add_holiday("Dia do Herói Nacional", SEP, 17))
|
|
90
|
+
|
|
91
|
+
# All Souls' Day.
|
|
92
|
+
self._add_observed_holiday(self._add_all_souls_day("Dia dos Finados"))
|
|
93
|
+
|
|
94
|
+
# Independence Day.
|
|
95
|
+
self._add_observed_holiday(self._add_holiday("Dia da Independência", NOV, 11))
|
|
81
96
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
_add_with_observed(date(year, DEC, 25), "Dia de Natal e da Família")
|
|
97
|
+
# Christmas Day.
|
|
98
|
+
self._add_observed_holiday(self._add_christmas_day("Dia de Natal e da Família"))
|
|
85
99
|
|
|
86
100
|
|
|
87
101
|
class AO(Angola):
|
holidays/countries/argentina.py
CHANGED
|
@@ -13,8 +13,7 @@ from datetime import date
|
|
|
13
13
|
from gettext import gettext as tr
|
|
14
14
|
|
|
15
15
|
from holidays.calendars import _get_nth_weekday_from, _get_nth_weekday_of_month
|
|
16
|
-
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP
|
|
17
|
-
from holidays.constants import OCT, NOV, DEC, MON
|
|
16
|
+
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, MON
|
|
18
17
|
from holidays.holiday_base import HolidayBase
|
|
19
18
|
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
20
19
|
|
|
@@ -60,6 +59,7 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
60
59
|
|
|
61
60
|
country = "AR"
|
|
62
61
|
default_language = "es"
|
|
62
|
+
supported_languages = ("en_US", "es", "uk")
|
|
63
63
|
|
|
64
64
|
# Special Bridge Holidays are given upto 3 days a year
|
|
65
65
|
# as long as it's declared 50 days before calendar year's end
|
|
@@ -74,8 +74,7 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
74
74
|
)
|
|
75
75
|
bicentennial_battle_tucuman = tr("Bicentenario de la Batalla de Tucumán")
|
|
76
76
|
bicentennial_assembly_1813 = tr(
|
|
77
|
-
"Bicentenario de la sesión inaugural "
|
|
78
|
-
"de la Asamblea Nacional Constituyente del año 1813"
|
|
77
|
+
"Bicentenario de la sesión inaugural de la Asamblea Nacional Constituyente del año 1813"
|
|
79
78
|
)
|
|
80
79
|
bicentennial_battle_salta = tr("Bicentenario de la Batalla de Salta")
|
|
81
80
|
national_census_2022 = tr("Censo nacional 2022")
|
|
@@ -148,7 +147,7 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
148
147
|
super().__init__(*args, **kwargs)
|
|
149
148
|
|
|
150
149
|
def _populate(self, year):
|
|
151
|
-
def
|
|
150
|
+
def add_movable_holiday(dt: date, name: str) -> None:
|
|
152
151
|
"""
|
|
153
152
|
!!! Movable Holidays Law !!!
|
|
154
153
|
|
|
@@ -159,13 +158,13 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
159
158
|
- If THU/FRI - observed on next MON
|
|
160
159
|
"""
|
|
161
160
|
if self.observed:
|
|
162
|
-
if self._is_tuesday(
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
elif self._is_thursday(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
self._add_holiday(
|
|
161
|
+
if self._is_tuesday(dt) or self._is_wednesday(dt):
|
|
162
|
+
dt = _get_nth_weekday_from(-1, MON, dt)
|
|
163
|
+
name = self.tr("%s (Observado)") % self.tr(name)
|
|
164
|
+
elif self._is_thursday(dt) or self._is_friday(dt):
|
|
165
|
+
dt = _get_nth_weekday_from(1, MON, dt)
|
|
166
|
+
name = self.tr("%s (Observado)") % self.tr(name)
|
|
167
|
+
self._add_holiday(name, dt)
|
|
169
168
|
|
|
170
169
|
super()._populate(year)
|
|
171
170
|
|
|
@@ -208,9 +207,7 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
208
207
|
self._add_holiday(
|
|
209
208
|
tr("Día del Veterano de Guerra")
|
|
210
209
|
if year <= 2000
|
|
211
|
-
else tr(
|
|
212
|
-
"Día del Veterano y de los Caidos en la Guerra de Malvinas"
|
|
213
|
-
),
|
|
210
|
+
else tr("Día del Veterano y de los Caidos en la Guerra de Malvinas"),
|
|
214
211
|
date(year, MAR, 31) if year == 2020 else date(year, APR, 2),
|
|
215
212
|
)
|
|
216
213
|
|
|
@@ -260,9 +257,7 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
260
257
|
self._add_holiday(tr("Día de la Independencia"), JUL, 9)
|
|
261
258
|
|
|
262
259
|
# Immaculate Conception.
|
|
263
|
-
self._add_immaculate_conception_day(
|
|
264
|
-
tr("Inmaculada Concepción de María")
|
|
265
|
-
)
|
|
260
|
+
self._add_immaculate_conception_day(tr("Inmaculada Concepción de María"))
|
|
266
261
|
|
|
267
262
|
# Christmas.
|
|
268
263
|
self._add_christmas_day(tr("Navidad"))
|
|
@@ -275,16 +270,13 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
275
270
|
|
|
276
271
|
if year >= 2016:
|
|
277
272
|
dt = date(year, JUN, 17)
|
|
278
|
-
name = tr(
|
|
279
|
-
"Paso a la Inmortalidad del General Don Martín Miguel "
|
|
280
|
-
"de Güemes"
|
|
281
|
-
)
|
|
273
|
+
name = tr("Paso a la Inmortalidad del General Don Martín Miguel de Güemes")
|
|
282
274
|
# If Jun 17 is Friday, then it should move to Mon, Jun 20
|
|
283
275
|
# but Jun 20 is Gen. Belgrano holiday
|
|
284
276
|
if self._is_friday(dt):
|
|
285
277
|
self._add_holiday(name, dt)
|
|
286
278
|
else:
|
|
287
|
-
|
|
279
|
+
add_movable_holiday(dt, name)
|
|
288
280
|
|
|
289
281
|
# Day Pass to the Immortality of General José de San Martin.
|
|
290
282
|
# Status: In-Use.
|
|
@@ -299,24 +291,22 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
299
291
|
elif 1938 <= year <= 1994:
|
|
300
292
|
self._add_holiday(name, AUG, 17)
|
|
301
293
|
elif 1995 <= year <= 2010:
|
|
302
|
-
self._add_holiday(
|
|
303
|
-
name, _get_nth_weekday_of_month(3, MON, AUG, year)
|
|
304
|
-
)
|
|
294
|
+
self._add_holiday(name, _get_nth_weekday_of_month(3, MON, AUG, year))
|
|
305
295
|
elif year >= 2012:
|
|
306
|
-
|
|
296
|
+
add_movable_holiday(date(year, AUG, 17), name)
|
|
307
297
|
|
|
308
298
|
# Respect for Cultural Diversity Day or Columbus Day.
|
|
309
299
|
# Status: In-Use.
|
|
310
300
|
# First started in 1917 for Argentina.
|
|
311
|
-
#
|
|
301
|
+
# In 2010 the holiday became movable and its name was changed.
|
|
312
302
|
|
|
313
|
-
if year
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
303
|
+
if 1917 <= year <= 2009:
|
|
304
|
+
self._add_columbus_day(tr("Día de la Raza"))
|
|
305
|
+
elif year >= 2010:
|
|
306
|
+
add_movable_holiday(
|
|
307
|
+
date(year, OCT, 12),
|
|
308
|
+
tr("Día del Respeto a la Diversidad Cultural"),
|
|
318
309
|
)
|
|
319
|
-
_add_movable(date(year, OCT, 12), name)
|
|
320
310
|
|
|
321
311
|
# National Sovereignty Day.
|
|
322
312
|
# Status: In-Use.
|
|
@@ -332,7 +322,7 @@ class Argentina(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
332
322
|
elif year == 2016:
|
|
333
323
|
self._add_holiday(name, NOV, 28)
|
|
334
324
|
elif year >= 2010:
|
|
335
|
-
|
|
325
|
+
add_movable_holiday(date(year, NOV, 20), name)
|
|
336
326
|
|
|
337
327
|
|
|
338
328
|
class AR(Argentina):
|
holidays/countries/armenia.py
CHANGED
holidays/countries/aruba.py
CHANGED
|
@@ -11,81 +11,142 @@
|
|
|
11
11
|
|
|
12
12
|
from datetime import date
|
|
13
13
|
from datetime import timedelta as td
|
|
14
|
+
from gettext import gettext as tr
|
|
14
15
|
|
|
15
|
-
from
|
|
16
|
-
|
|
17
|
-
from holidays.constants import JAN, MAR, APR, MAY, AUG, DEC
|
|
16
|
+
from holidays.constants import JAN, MAR, APR, AUG
|
|
18
17
|
from holidays.holiday_base import HolidayBase
|
|
18
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class Aruba(HolidayBase):
|
|
21
|
+
class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
22
22
|
"""
|
|
23
|
-
|
|
23
|
+
https://www.government.aw/information-public-services/hiring-people_47940/item/holidays_43823.html # noqa: E501
|
|
24
|
+
https://www.overheid.aw/informatie-dienstverlening/ondernemen-en-werken-subthemas_46970/item/feestdagen_37375.html # noqa: E501
|
|
25
|
+
https://www.gobierno.aw/informacion-tocante-servicio/haci-negoshi-y-traha-sub-topics_47789/item/dia-di-fiesta_41242.html # noqa: E501
|
|
24
26
|
https://www.visitaruba.com/about-aruba/national-holidays-and-celebrations/
|
|
27
|
+
https://www.arubatoday.com/we-celebrate-our-national-hero-betico-croes/
|
|
28
|
+
https://www.caribbeannewsglobal.com/carnival-monday-remains-a-festive-day-in-aruba/ # noqa: E501
|
|
29
|
+
https://www.aruba.com/us/calendar/national-anthem-and-flag-day
|
|
25
30
|
"""
|
|
26
31
|
|
|
27
32
|
country = "AW"
|
|
33
|
+
default_language = "pap"
|
|
34
|
+
supported_languages = ("en_US", "nl", "pap", "uk")
|
|
28
35
|
|
|
29
|
-
def
|
|
30
|
-
|
|
36
|
+
def __init__(self, *args, **kwargs):
|
|
37
|
+
ChristianHolidays.__init__(self)
|
|
38
|
+
InternationalHolidays.__init__(self)
|
|
39
|
+
super().__init__(*args, **kwargs)
|
|
31
40
|
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
def _populate(self, year):
|
|
42
|
+
# AUG 1947: Autonomous State status in the Kingdom of the Netherlands.
|
|
43
|
+
if year <= 1946:
|
|
44
|
+
return None
|
|
34
45
|
|
|
35
|
-
|
|
36
|
-
self[date(year, JAN, 25)] = "Dia Di Betico [Betico Day]"
|
|
46
|
+
super()._populate(year)
|
|
37
47
|
|
|
38
|
-
|
|
39
|
-
#
|
|
40
|
-
self[
|
|
41
|
-
easter_date + td(days=-48)
|
|
42
|
-
] = "Dialuna di Carnaval [Carnaval Monday]"
|
|
48
|
+
# Aña Nobo.
|
|
49
|
+
# Status: In-Use.
|
|
43
50
|
|
|
44
|
-
#
|
|
45
|
-
self
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
# New Year's Day
|
|
52
|
+
self._add_new_years_day(tr("Aña Nobo"))
|
|
53
|
+
|
|
54
|
+
# Dia Di Betico.
|
|
55
|
+
# Status: In-Use.
|
|
56
|
+
# Started in 1989.
|
|
57
|
+
|
|
58
|
+
if year >= 1989:
|
|
59
|
+
# Betico Day
|
|
60
|
+
self._add_holiday(tr("Dia di Betico"), JAN, 25)
|
|
61
|
+
|
|
62
|
+
# Dialuna prome cu diaranson di shinish.
|
|
63
|
+
# Status: In-Use.
|
|
64
|
+
# Starts as a public holiday from 1956 onwards.
|
|
65
|
+
# Event cancelled but remain a holiday in 2021.
|
|
66
|
+
# Have its name changed from 2023 onwards.
|
|
67
|
+
|
|
68
|
+
if year >= 1956:
|
|
69
|
+
self._add_ash_monday(
|
|
70
|
+
# Carnival Monday
|
|
71
|
+
tr("Dialuna despues di Carnaval Grandi")
|
|
72
|
+
if year <= 2022
|
|
73
|
+
# Monday before Ash Wednesday
|
|
74
|
+
else tr("Dialuna prome cu diaranson di shinish")
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
# Dia di Himno y Bandera.
|
|
78
|
+
# Status: In-Use.
|
|
79
|
+
# Started in 1976.
|
|
80
|
+
|
|
81
|
+
if year >= 1976:
|
|
82
|
+
# National Anthem and Flag Day
|
|
83
|
+
self._add_holiday(tr("Dia di Himno y Bandera"), MAR, 18)
|
|
84
|
+
|
|
85
|
+
# Bierna Santo.
|
|
86
|
+
# Status: In-Use.
|
|
48
87
|
|
|
49
88
|
# Good Friday
|
|
50
|
-
self
|
|
89
|
+
self._add_good_friday(tr("Bierna Santo"))
|
|
51
90
|
|
|
52
|
-
#
|
|
53
|
-
|
|
54
|
-
easter_date + td(days=+1)
|
|
55
|
-
] = "Di Dos Dia di Pasco di Resureccion [Easter Monday]"
|
|
91
|
+
# Di dos dia di Pasco di Resureccion.
|
|
92
|
+
# Status: In-Use.
|
|
56
93
|
|
|
57
|
-
#
|
|
94
|
+
# Easter Monday
|
|
95
|
+
self._add_easter_monday(tr("Di dos dia di Pasco di Resureccion"))
|
|
96
|
+
|
|
97
|
+
# Aña di La Reina/Aña di Rey/Dia di Rey.
|
|
98
|
+
# Status: In-Use.
|
|
99
|
+
# Started under Queen Wilhelmina in 1891.
|
|
100
|
+
# Queen Beatrix kept Queen Juliana's Birthday after her coronation.
|
|
101
|
+
# Switched to Aña di Rey in 2014 for King Willem-Alexander.
|
|
102
|
+
# Have its name changed again to Dia di Rey from 2021 onwards.
|
|
103
|
+
|
|
104
|
+
# King's / Queen's Day
|
|
105
|
+
name = (
|
|
106
|
+
# King's Day.
|
|
107
|
+
tr("Dia di Rey")
|
|
108
|
+
if year >= 2021
|
|
109
|
+
else (
|
|
110
|
+
# King's Day.
|
|
111
|
+
tr("Aña di Rey")
|
|
112
|
+
if year >= 2014
|
|
113
|
+
# Queen's Day.
|
|
114
|
+
else tr("Aña di La Reina")
|
|
115
|
+
)
|
|
116
|
+
)
|
|
58
117
|
if year >= 2014:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
118
|
+
dt = date(year, APR, 27)
|
|
119
|
+
elif year >= 1949:
|
|
120
|
+
dt = date(year, APR, 30)
|
|
121
|
+
else:
|
|
122
|
+
dt = date(year, AUG, 31)
|
|
123
|
+
if self._is_sunday(dt):
|
|
124
|
+
dt += td(days=-1) if year >= 1980 else td(days=+1)
|
|
125
|
+
self._add_holiday(name, dt)
|
|
64
126
|
|
|
65
|
-
#
|
|
66
|
-
|
|
67
|
-
queens_day = date(year, APR, 30)
|
|
68
|
-
if year <= 1948:
|
|
69
|
-
queens_day = date(year, AUG, 31)
|
|
127
|
+
# Dia di Labor/Dia di Obrero.
|
|
128
|
+
# Status: In-Use.
|
|
70
129
|
|
|
71
|
-
|
|
72
|
-
|
|
130
|
+
# Labor Day
|
|
131
|
+
self._add_labor_day(tr("Dia di Obrero"))
|
|
73
132
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
# Labour Day
|
|
77
|
-
self[date(year, MAY, 1)] = "Dia di Obrero [Labour Day]"
|
|
133
|
+
# Dia di Asuncion.
|
|
134
|
+
# Status: In-Use.
|
|
78
135
|
|
|
79
136
|
# Ascension Day
|
|
80
|
-
self
|
|
137
|
+
self._add_ascension_thursday(tr("Dia di Asuncion"))
|
|
138
|
+
|
|
139
|
+
# Pasco di Nacemento.
|
|
140
|
+
# Status: In-Use.
|
|
81
141
|
|
|
82
142
|
# Christmas Day
|
|
83
|
-
self
|
|
143
|
+
self._add_christmas_day(tr("Pasco di Nacemento"))
|
|
144
|
+
|
|
145
|
+
# Di dos dia di Pasco di Nacemento.
|
|
146
|
+
# Status: In-Use.
|
|
84
147
|
|
|
85
|
-
# Second Christmas
|
|
86
|
-
self
|
|
87
|
-
date(year, DEC, 26)
|
|
88
|
-
] = "Di Dos Dia di Pasco di Nacemento [Second Christmas]"
|
|
148
|
+
# Second Day of Christmas
|
|
149
|
+
self._add_christmas_day_two(tr("Di dos dia di Pasco di Nacemento"))
|
|
89
150
|
|
|
90
151
|
|
|
91
152
|
class AW(Aruba):
|