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/ethiopia.py
CHANGED
|
@@ -14,8 +14,7 @@ from gettext import gettext as tr
|
|
|
14
14
|
from holidays.calendars import JULIAN_CALENDAR
|
|
15
15
|
from holidays.constants import MAR, MAY, SEP
|
|
16
16
|
from holidays.holiday_base import HolidayBase
|
|
17
|
-
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
18
|
-
from holidays.holiday_groups import IslamicHolidays
|
|
17
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
19
18
|
|
|
20
19
|
# Ethiopian holidays are estimated: it is common for the day to be pushed
|
|
21
20
|
# if falls in a weekend, although not a rule that can be implemented.
|
|
@@ -31,11 +30,11 @@ from holidays.holiday_groups import IslamicHolidays
|
|
|
31
30
|
# is_weekend function is there, however not activated for accuracy.
|
|
32
31
|
|
|
33
32
|
|
|
34
|
-
class Ethiopia(
|
|
35
|
-
HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
36
|
-
):
|
|
33
|
+
class Ethiopia(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
37
34
|
country = "ET"
|
|
38
35
|
default_language = "am"
|
|
36
|
+
estimated_label = tr("%s* (*ግምት)")
|
|
37
|
+
supported_languages = ("am", "ar", "en_US")
|
|
39
38
|
|
|
40
39
|
@staticmethod
|
|
41
40
|
def _is_leap_year(year):
|
|
@@ -68,14 +67,10 @@ class Ethiopia(
|
|
|
68
67
|
# September 12.
|
|
69
68
|
|
|
70
69
|
# Ethiopian New Year.
|
|
71
|
-
self._add_holiday(
|
|
72
|
-
tr("አዲስ ዓመት እንቁጣጣሽ"), SEP, 12 if self._is_leap_year(year) else 11
|
|
73
|
-
)
|
|
70
|
+
self._add_holiday(tr("አዲስ ዓመት እንቁጣጣሽ"), SEP, 12 if self._is_leap_year(year) else 11)
|
|
74
71
|
|
|
75
72
|
# Finding of True Cross.
|
|
76
|
-
self._add_holiday(
|
|
77
|
-
tr("መስቀል"), SEP, 28 if self._is_leap_year(year) else 27
|
|
78
|
-
)
|
|
73
|
+
self._add_holiday(tr("መስቀል"), SEP, 28 if self._is_leap_year(year) else 27)
|
|
79
74
|
|
|
80
75
|
# Orthodox Christmas.
|
|
81
76
|
self._add_christmas_day(tr("ገና"))
|
|
@@ -106,9 +101,7 @@ class Ethiopia(
|
|
|
106
101
|
|
|
107
102
|
if year < 1991 and year > 1974:
|
|
108
103
|
# Downfall of King Haile Selassie.
|
|
109
|
-
self._add_holiday(
|
|
110
|
-
tr("ደርግ የመጣበት ቀን"), SEP, 13 if self._is_leap_year(year) else 12
|
|
111
|
-
)
|
|
104
|
+
self._add_holiday(tr("ደርግ የመጣበት ቀን"), SEP, 13 if self._is_leap_year(year) else 12)
|
|
112
105
|
|
|
113
106
|
# Eid al-Fitr.
|
|
114
107
|
self._add_eid_al_fitr_day(tr("ኢድ አልፈጥር"))
|
holidays/countries/finland.py
CHANGED
|
@@ -26,6 +26,7 @@ class Finland(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
26
26
|
|
|
27
27
|
country = "FI"
|
|
28
28
|
default_language = "fi"
|
|
29
|
+
supported_languages = ("en_US", "fi", "sv", "uk")
|
|
29
30
|
|
|
30
31
|
def __init__(self, *args, **kwargs):
|
|
31
32
|
ChristianHolidays.__init__(self)
|
|
@@ -41,9 +42,7 @@ class Finland(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
41
42
|
# Epiphany.
|
|
42
43
|
name = tr("Loppiainen")
|
|
43
44
|
if 1973 <= year <= 1990:
|
|
44
|
-
self._add_holiday(
|
|
45
|
-
name, _get_nth_weekday_from(1, SAT, date(year, JAN, 6))
|
|
46
|
-
)
|
|
45
|
+
self._add_holiday(name, _get_nth_weekday_from(1, SAT, date(year, JAN, 6)))
|
|
47
46
|
else:
|
|
48
47
|
self._add_epiphany_day(name)
|
|
49
48
|
|
holidays/countries/france.py
CHANGED
|
@@ -34,6 +34,7 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
34
34
|
|
|
35
35
|
country = "FR"
|
|
36
36
|
default_language = "fr"
|
|
37
|
+
supported_languages = ("en_US", "fr", "uk")
|
|
37
38
|
subdivisions = (
|
|
38
39
|
"BL", # Saint Barthelemy.
|
|
39
40
|
"GES", # Alsace, Champagne-Ardenne, Lorraine(Moselle).
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# python-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: dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
8
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
9
|
+
# Website: https://github.com/dr-prodigy/python-holidays
|
|
10
|
+
# License: MIT (see LICENSE file)
|
|
11
|
+
|
|
12
|
+
from holidays.calendars import _CustomIslamicCalendar
|
|
13
|
+
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
14
|
+
from holidays.holiday_base import HolidayBase
|
|
15
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class Gabon(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
19
|
+
"""
|
|
20
|
+
References:
|
|
21
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Gabon
|
|
22
|
+
- https://www.timeanddate.com/holidays/gabon
|
|
23
|
+
- https://www.officeholidays.com/countries/gabon
|
|
24
|
+
- http://www.travail.gouv.ga/402-evenements/489-liste-des-jours-feries/
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
country = "GA"
|
|
28
|
+
|
|
29
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
30
|
+
ChristianHolidays.__init__(self)
|
|
31
|
+
InternationalHolidays.__init__(self)
|
|
32
|
+
IslamicHolidays.__init__(self, calendar=GabonIslamicCalendar())
|
|
33
|
+
super().__init__(*args, **kwargs)
|
|
34
|
+
|
|
35
|
+
def _populate(self, year):
|
|
36
|
+
# On 17 August 1960, Gabon gained independence from France.
|
|
37
|
+
if year <= 1960:
|
|
38
|
+
return None
|
|
39
|
+
|
|
40
|
+
super()._populate(year)
|
|
41
|
+
|
|
42
|
+
# New Year's Day.
|
|
43
|
+
self._add_new_years_day("New Year's Day")
|
|
44
|
+
|
|
45
|
+
# Easter Monday.
|
|
46
|
+
self._add_easter_monday("Easter Monday")
|
|
47
|
+
|
|
48
|
+
# Women's Rights Day.
|
|
49
|
+
if year >= 2015:
|
|
50
|
+
self._add_holiday("Women's Rights Day", APR, 17)
|
|
51
|
+
|
|
52
|
+
# Labour Day.
|
|
53
|
+
self._add_labor_day("Labour Day")
|
|
54
|
+
|
|
55
|
+
# Ascension Day.
|
|
56
|
+
self._add_ascension_thursday("Ascension Day")
|
|
57
|
+
|
|
58
|
+
# Whit Monday.
|
|
59
|
+
self._add_whit_monday("Whit Monday")
|
|
60
|
+
|
|
61
|
+
# Assumption Day.
|
|
62
|
+
self._add_assumption_of_mary_day("Assumption Day")
|
|
63
|
+
|
|
64
|
+
# Independence Day.
|
|
65
|
+
self._add_holiday("Independence Day", AUG, 16)
|
|
66
|
+
self._add_holiday("Independence Day Holiday", AUG, 17)
|
|
67
|
+
|
|
68
|
+
# All Saints' Day.
|
|
69
|
+
self._add_all_saints_day("All Saints' Day")
|
|
70
|
+
|
|
71
|
+
# Christmas Day.
|
|
72
|
+
self._add_christmas_day("Christmas Day")
|
|
73
|
+
|
|
74
|
+
# Eid al-Fitr.
|
|
75
|
+
self._add_eid_al_fitr_day("Eid al-Fitr")
|
|
76
|
+
|
|
77
|
+
# Eid al-Adha.
|
|
78
|
+
self._add_eid_al_adha_day("Eid al-Adha")
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class GA(Gabon):
|
|
82
|
+
pass
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class GAB(Gabon):
|
|
86
|
+
pass
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class GabonIslamicCalendar(_CustomIslamicCalendar):
|
|
90
|
+
EID_AL_ADHA_DATES = {
|
|
91
|
+
2001: (MAR, 6),
|
|
92
|
+
2002: (FEB, 23),
|
|
93
|
+
2003: (FEB, 12),
|
|
94
|
+
2004: (FEB, 2),
|
|
95
|
+
2005: (JAN, 21),
|
|
96
|
+
2006: ((JAN, 10), (DEC, 31)),
|
|
97
|
+
2007: (DEC, 20),
|
|
98
|
+
2008: (DEC, 9),
|
|
99
|
+
2009: (NOV, 28),
|
|
100
|
+
2010: (NOV, 17),
|
|
101
|
+
2011: (NOV, 7),
|
|
102
|
+
2012: (OCT, 26),
|
|
103
|
+
2013: (OCT, 15),
|
|
104
|
+
2014: (OCT, 5),
|
|
105
|
+
2015: (SEP, 24),
|
|
106
|
+
2016: (SEP, 13),
|
|
107
|
+
2017: (SEP, 2),
|
|
108
|
+
2018: (AUG, 22),
|
|
109
|
+
2019: (AUG, 11),
|
|
110
|
+
2020: (JUL, 31),
|
|
111
|
+
2021: (JUL, 20),
|
|
112
|
+
2022: (JUL, 9),
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
EID_AL_FITR_DATES = {
|
|
116
|
+
2001: (DEC, 17),
|
|
117
|
+
2002: (DEC, 6),
|
|
118
|
+
2003: (NOV, 26),
|
|
119
|
+
2004: (NOV, 14),
|
|
120
|
+
2005: (NOV, 4),
|
|
121
|
+
2006: (OCT, 24),
|
|
122
|
+
2007: (OCT, 13),
|
|
123
|
+
2008: (OCT, 2),
|
|
124
|
+
2009: (SEP, 21),
|
|
125
|
+
2010: (SEP, 10),
|
|
126
|
+
2011: (AUG, 31),
|
|
127
|
+
2012: (AUG, 19),
|
|
128
|
+
2013: (AUG, 8),
|
|
129
|
+
2014: (JUL, 29),
|
|
130
|
+
2015: (JUL, 18),
|
|
131
|
+
2016: (JUL, 7),
|
|
132
|
+
2017: (JUN, 26),
|
|
133
|
+
2018: (JUN, 15),
|
|
134
|
+
2019: (JUN, 4),
|
|
135
|
+
2020: (MAY, 24),
|
|
136
|
+
2021: (MAY, 13),
|
|
137
|
+
2022: (MAY, 2),
|
|
138
|
+
2023: (APR, 21),
|
|
139
|
+
}
|
holidays/countries/georgia.py
CHANGED
holidays/countries/germany.py
CHANGED
holidays/countries/greece.py
CHANGED
|
@@ -9,13 +9,11 @@
|
|
|
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
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
|
-
from holidays.calendars import _get_nth_weekday_from, JULIAN_CALENDAR
|
|
17
|
-
from holidays.
|
|
18
|
-
from holidays.constants import MAR, MAY, OCT, MON
|
|
15
|
+
from holidays.calendars import _get_nth_weekday_from, JULIAN_CALENDAR, GREGORIAN_CALENDAR
|
|
16
|
+
from holidays.constants import MAR, OCT, MON
|
|
19
17
|
from holidays.holiday_base import HolidayBase
|
|
20
18
|
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
21
19
|
|
|
@@ -30,6 +28,7 @@ class Greece(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
30
28
|
|
|
31
29
|
country = "GR"
|
|
32
30
|
default_language = "el"
|
|
31
|
+
supported_languages = ("el", "en_US")
|
|
33
32
|
|
|
34
33
|
def __init__(self, *args, **kwargs):
|
|
35
34
|
ChristianHolidays.__init__(self, JULIAN_CALENDAR)
|
|
@@ -51,6 +50,9 @@ class Greece(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
51
50
|
# Independence Day.
|
|
52
51
|
self._add_holiday(tr("Εικοστή Πέμπτη Μαρτίου"), MAR, 25)
|
|
53
52
|
|
|
53
|
+
# Good Friday.
|
|
54
|
+
self._add_good_friday(tr("Μεγάλη Παρασκευή"))
|
|
55
|
+
|
|
54
56
|
# Easter Monday.
|
|
55
57
|
self._add_easter_monday(tr("Δευτέρα του Πάσχα"))
|
|
56
58
|
|
|
@@ -61,8 +63,7 @@ class Greece(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
61
63
|
name = self.tr("Εργατική Πρωτομαγιά")
|
|
62
64
|
name_observed = self.tr("%s (παρατηρήθηκε)")
|
|
63
65
|
|
|
64
|
-
dt =
|
|
65
|
-
self._add_holiday(name, dt)
|
|
66
|
+
dt = self._add_labor_day(name)
|
|
66
67
|
if self.observed and self._is_weekend(dt):
|
|
67
68
|
# https://en.wikipedia.org/wiki/Public_holidays_in_Greece
|
|
68
69
|
labour_day_observed_date = _get_nth_weekday_from(1, MON, dt)
|
holidays/countries/honduras.py
CHANGED
|
@@ -12,41 +12,45 @@
|
|
|
12
12
|
from datetime import timedelta as td
|
|
13
13
|
from gettext import gettext as tr
|
|
14
14
|
|
|
15
|
-
from dateutil.easter import easter
|
|
16
|
-
|
|
17
15
|
from holidays.calendars import _get_nth_weekday_of_month
|
|
18
|
-
from holidays.constants import
|
|
16
|
+
from holidays.constants import APR, SEP, OCT, WED
|
|
19
17
|
from holidays.holiday_base import HolidayBase
|
|
18
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
20
19
|
|
|
21
20
|
|
|
22
|
-
class Honduras(HolidayBase):
|
|
21
|
+
class Honduras(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
23
22
|
# Artículo 339 del Código del Trabajo:
|
|
24
|
-
# https://www.ilo.org/dyn/natlex/docs/WEBTEXT/29076/64849/S59HND01.htm
|
|
23
|
+
# https://www.ilo.org/dyn/natlex/docs/WEBTEXT/29076/64849/S59HND01.htm
|
|
25
24
|
|
|
26
25
|
country = "HN"
|
|
27
26
|
default_language = "es"
|
|
27
|
+
supported_languages = ("en_US", "es", "uk")
|
|
28
|
+
|
|
29
|
+
def __init__(self, *args, **kwargs):
|
|
30
|
+
ChristianHolidays.__init__(self)
|
|
31
|
+
InternationalHolidays.__init__(self)
|
|
32
|
+
super().__init__(*args, **kwargs)
|
|
28
33
|
|
|
29
34
|
def _populate(self, year):
|
|
30
35
|
super()._populate(year)
|
|
31
36
|
|
|
32
37
|
# New Year's Day.
|
|
33
|
-
self.
|
|
38
|
+
self._add_new_years_day(tr("Año Nuevo"))
|
|
34
39
|
|
|
35
|
-
easter_date = easter(year)
|
|
36
40
|
# Maundy Thursday.
|
|
37
|
-
self.
|
|
41
|
+
self._add_holy_thursday(tr("Jueves Santo"))
|
|
38
42
|
|
|
39
43
|
# Good Friday.
|
|
40
|
-
self.
|
|
44
|
+
self._add_good_friday(tr("Viernes Santo"))
|
|
41
45
|
|
|
42
46
|
# Holy Saturday.
|
|
43
|
-
self.
|
|
47
|
+
self._add_holy_saturday(tr("Sábado de Gloria"))
|
|
44
48
|
|
|
45
49
|
# Panamerican Day.
|
|
46
50
|
self._add_holiday(tr("Día de las Américas"), APR, 14)
|
|
47
51
|
|
|
48
52
|
# Labor Day.
|
|
49
|
-
self.
|
|
53
|
+
self._add_labor_day(tr("Día del Trabajo"))
|
|
50
54
|
|
|
51
55
|
# Independence Day.
|
|
52
56
|
self._add_holiday(tr("Día de la Independencia"), SEP, 15)
|
|
@@ -57,7 +61,7 @@ class Honduras(HolidayBase):
|
|
|
57
61
|
self._add_holiday(tr("Día de Morazán"), OCT, 3)
|
|
58
62
|
|
|
59
63
|
# Columbus Day.
|
|
60
|
-
self.
|
|
64
|
+
self._add_columbus_day(tr("Día de la Raza"))
|
|
61
65
|
|
|
62
66
|
# Army Day.
|
|
63
67
|
self._add_holiday(tr("Día de las Fuerzas Armadas"), OCT, 21)
|
|
@@ -71,7 +75,7 @@ class Honduras(HolidayBase):
|
|
|
71
75
|
self._add_holiday(holiday_name, first_wednesday + td(days=+2))
|
|
72
76
|
|
|
73
77
|
# Christmas.
|
|
74
|
-
self.
|
|
78
|
+
self._add_christmas_day(tr("Navidad"))
|
|
75
79
|
|
|
76
80
|
|
|
77
81
|
class HN(Honduras):
|