holidays 0.26__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 +5 -7
- holidays/calendars/buddhist.py +1 -3
- holidays/calendars/chinese.py +1 -3
- holidays/calendars/custom.py +1 -3
- holidays/calendars/hindu.py +1 -3
- holidays/calendars/islamic.py +1341 -1345
- holidays/calendars/thai.py +217 -26
- holidays/countries/__init__.py +4 -0
- holidays/countries/albania.py +6 -17
- holidays/countries/andorra.py +2 -6
- holidays/countries/angola.py +53 -39
- holidays/countries/argentina.py +13 -24
- holidays/countries/aruba.py +109 -48
- holidays/countries/australia.py +31 -69
- holidays/countries/azerbaijan.py +30 -38
- holidays/countries/bahrain.py +5 -5
- holidays/countries/bangladesh.py +1 -3
- holidays/countries/belarus.py +1 -3
- holidays/countries/belize.py +4 -16
- holidays/countries/bolivia.py +2 -6
- holidays/countries/bosnia_and_herzegovina.py +5 -17
- holidays/countries/botswana.py +9 -18
- holidays/countries/brazil.py +2 -5
- holidays/countries/brunei.py +427 -0
- holidays/countries/bulgaria.py +2 -6
- holidays/countries/burkina_faso.py +141 -0
- holidays/countries/burundi.py +2 -5
- holidays/countries/cambodia.py +323 -0
- holidays/countries/cameroon.py +71 -77
- holidays/countries/canada.py +19 -28
- holidays/countries/chad.py +133 -0
- holidays/countries/chile.py +4 -11
- holidays/countries/china.py +1 -2
- holidays/countries/colombia.py +17 -15
- holidays/countries/costa_rica.py +2 -6
- holidays/countries/curacao.py +100 -46
- holidays/countries/cyprus.py +2 -6
- holidays/countries/czechia.py +4 -12
- holidays/countries/denmark.py +1 -3
- holidays/countries/dominican_republic.py +1 -3
- holidays/countries/ecuador.py +54 -54
- holidays/countries/egypt.py +2 -5
- holidays/countries/eswatini.py +34 -44
- holidays/countries/ethiopia.py +5 -14
- holidays/countries/finland.py +1 -3
- holidays/countries/gabon.py +49 -53
- holidays/countries/greece.py +1 -2
- holidays/countries/honduras.py +16 -13
- holidays/countries/hongkong.py +7 -8
- holidays/countries/hungary.py +93 -92
- holidays/countries/india.py +4 -11
- holidays/countries/indonesia.py +120 -114
- holidays/countries/ireland.py +5 -15
- holidays/countries/isle_of_man.py +9 -4
- holidays/countries/israel.py +6 -18
- holidays/countries/italy.py +1 -2
- holidays/countries/jamaica.py +10 -18
- holidays/countries/japan.py +10 -16
- holidays/countries/kazakhstan.py +7 -22
- holidays/countries/kenya.py +1 -3
- holidays/countries/kyrgyzstan.py +2 -5
- holidays/countries/latvia.py +2 -6
- holidays/countries/lesotho.py +52 -32
- holidays/countries/lithuania.py +4 -12
- holidays/countries/madagascar.py +3 -9
- holidays/countries/malawi.py +34 -26
- holidays/countries/malaysia.py +223 -248
- holidays/countries/marshall_islands.py +4 -9
- holidays/countries/mexico.py +1 -3
- holidays/countries/moldova.py +3 -6
- holidays/countries/monaco.py +16 -26
- holidays/countries/montenegro.py +23 -19
- holidays/countries/morocco.py +2 -5
- holidays/countries/mozambique.py +35 -31
- holidays/countries/namibia.py +54 -35
- holidays/countries/new_zealand.py +11 -21
- holidays/countries/nicaragua.py +26 -22
- holidays/countries/nigeria.py +6 -17
- holidays/countries/north_macedonia.py +3 -8
- holidays/countries/norway.py +1 -3
- holidays/countries/pakistan.py +71 -72
- holidays/countries/panama.py +25 -24
- holidays/countries/paraguay.py +54 -47
- holidays/countries/philippines.py +6 -2
- holidays/countries/poland.py +3 -9
- holidays/countries/portugal.py +3 -11
- holidays/countries/romania.py +3 -5
- holidays/countries/saudi_arabia.py +8 -22
- holidays/countries/serbia.py +19 -29
- holidays/countries/singapore.py +70 -74
- holidays/countries/slovakia.py +1 -4
- holidays/countries/south_africa.py +60 -62
- holidays/countries/south_korea.py +14 -23
- holidays/countries/spain.py +2 -5
- holidays/countries/sweden.py +1 -3
- holidays/countries/taiwan.py +2 -5
- holidays/countries/thailand.py +34 -81
- holidays/countries/turkey.py +1 -3
- holidays/countries/ukraine.py +6 -18
- holidays/countries/united_arab_emirates.py +21 -29
- holidays/countries/united_kingdom.py +47 -67
- holidays/countries/united_states.py +42 -72
- holidays/countries/vatican_city.py +1 -3
- holidays/countries/venezuela.py +8 -6
- holidays/countries/vietnam.py +6 -18
- holidays/countries/zambia.py +63 -33
- holidays/countries/zimbabwe.py +56 -37
- holidays/financial/european_central_bank.py +1 -3
- holidays/financial/ny_stock_exchange.py +31 -48
- 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 +49 -75
- holidays/holiday_groups.py +11 -1190
- holidays/locale/am/LC_MESSAGES/ET.po +18 -15
- holidays/locale/ar/LC_MESSAGES/CA.po +43 -43
- holidays/locale/ar/LC_MESSAGES/ET.po +18 -15
- holidays/locale/ar/LC_MESSAGES/UA.po +16 -14
- holidays/locale/be/LC_MESSAGES/BY.po +9 -8
- holidays/locale/bg/LC_MESSAGES/BG.po +14 -12
- holidays/locale/da/LC_MESSAGES/DK.po +7 -6
- holidays/locale/el/LC_MESSAGES/CY.po +5 -3
- holidays/locale/el/LC_MESSAGES/GR.po +13 -13
- holidays/locale/en/LC_MESSAGES/CA.po +43 -43
- holidays/locale/en_US/LC_MESSAGES/AR.po +26 -25
- 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 +14 -12
- 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 +9 -8
- holidays/locale/en_US/LC_MESSAGES/CA.po +43 -43
- holidays/locale/en_US/LC_MESSAGES/CL.po +18 -18
- holidays/locale/en_US/LC_MESSAGES/CO.po +19 -19
- holidays/locale/en_US/LC_MESSAGES/CR.po +6 -5
- 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 +5 -3
- holidays/locale/en_US/LC_MESSAGES/DK.po +7 -6
- 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.po +18 -15
- holidays/locale/en_US/LC_MESSAGES/FI.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/GR.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HN.po +13 -13
- 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/JP.po +19 -17
- 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/MC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MC.po +16 -15
- holidays/locale/en_US/LC_MESSAGES/MD.po +5 -5
- holidays/locale/en_US/LC_MESSAGES/MX.po +3 -2
- holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NI.po +13 -13
- holidays/locale/en_US/LC_MESSAGES/NO.po +1 -1
- holidays/locale/en_US/LC_MESSAGES/PL.po +23 -21
- holidays/locale/en_US/LC_MESSAGES/PT.po +31 -31
- holidays/locale/en_US/LC_MESSAGES/PY.po +13 -11
- holidays/locale/en_US/LC_MESSAGES/RO.po +4 -3
- holidays/locale/en_US/LC_MESSAGES/RS.po +10 -10
- holidays/locale/en_US/LC_MESSAGES/SE.po +1 -1
- holidays/locale/en_US/LC_MESSAGES/SK.po +14 -14
- holidays/locale/en_US/LC_MESSAGES/TH.po +41 -41
- holidays/locale/en_US/LC_MESSAGES/UA.po +16 -14
- holidays/locale/en_US/LC_MESSAGES/VE.po +6 -6
- holidays/locale/es/LC_MESSAGES/AR.po +26 -25
- holidays/locale/es/LC_MESSAGES/CL.po +18 -18
- holidays/locale/es/LC_MESSAGES/CO.po +19 -19
- holidays/locale/es/LC_MESSAGES/CR.po +6 -5
- holidays/locale/es/LC_MESSAGES/DO.po +12 -12
- holidays/locale/es/LC_MESSAGES/EC.po +11 -12
- holidays/locale/es/LC_MESSAGES/HN.po +12 -12
- holidays/locale/es/LC_MESSAGES/MX.po +3 -2
- holidays/locale/es/LC_MESSAGES/NI.po +10 -10
- holidays/locale/es/LC_MESSAGES/PY.po +13 -11
- holidays/locale/es/LC_MESSAGES/VE.po +6 -6
- holidays/locale/fi/LC_MESSAGES/FI.po +13 -13
- holidays/locale/fr/LC_MESSAGES/CA.po +43 -43
- holidays/locale/fr/LC_MESSAGES/MC.po +15 -14
- holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/hu/LC_MESSAGES/HU.po +109 -0
- holidays/locale/ja/LC_MESSAGES/JP.po +19 -17
- 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/no/LC_MESSAGES/NO.po +1 -1
- 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 +23 -21
- holidays/locale/pt_PT/LC_MESSAGES/PT.po +31 -31
- holidays/locale/ro/LC_MESSAGES/MD.po +5 -5
- holidays/locale/ro/LC_MESSAGES/RO.po +4 -3
- holidays/locale/sk/LC_MESSAGES/SK.po +14 -14
- holidays/locale/sr/LC_MESSAGES/RS.po +10 -10
- holidays/locale/sv/LC_MESSAGES/FI.po +13 -13
- holidays/locale/sv/LC_MESSAGES/SE.po +1 -1
- 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 +43 -43
- 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.po +26 -25
- holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AW.po +87 -0
- holidays/locale/uk/LC_MESSAGES/CL.po +18 -18
- holidays/locale/uk/LC_MESSAGES/CO.po +19 -19
- holidays/locale/uk/LC_MESSAGES/CR.po +6 -5
- holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CW.po +82 -0
- holidays/locale/uk/LC_MESSAGES/DK.po +7 -6
- holidays/locale/uk/LC_MESSAGES/DO.po +12 -12
- holidays/locale/uk/LC_MESSAGES/EC.po +11 -12
- holidays/locale/uk/LC_MESSAGES/FI.po +13 -13
- holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HN.po +13 -13
- holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HU.po +109 -0
- holidays/locale/uk/LC_MESSAGES/MC.po +15 -14
- holidays/locale/uk/LC_MESSAGES/MD.po +5 -5
- holidays/locale/uk/LC_MESSAGES/MX.po +3 -2
- holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NI.po +13 -13
- holidays/locale/uk/LC_MESSAGES/NO.po +1 -1
- holidays/locale/uk/LC_MESSAGES/PL.po +23 -21
- holidays/locale/uk/LC_MESSAGES/PY.po +13 -11
- holidays/locale/uk/LC_MESSAGES/RO.po +4 -3
- holidays/locale/uk/LC_MESSAGES/SE.po +1 -1
- holidays/locale/uk/LC_MESSAGES/SK.po +14 -14
- holidays/locale/uk/LC_MESSAGES/UA.po +16 -14
- holidays/locale/uk/LC_MESSAGES/VE.po +6 -6
- holidays/registry.py +7 -11
- holidays/utils.py +5 -15
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/METADATA +25 -7
- holidays-0.27.dist-info/RECORD +449 -0
- holidays-0.26.dist-info/RECORD +0 -402
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/LICENSE +0 -0
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/WHEEL +0 -0
- {holidays-0.26.dist-info → holidays-0.27.dist-info}/top_level.txt +0 -0
holidays/countries/hungary.py
CHANGED
|
@@ -11,14 +11,14 @@
|
|
|
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, OCT, NOV, DEC
|
|
16
|
+
from holidays.constants import MAR, APR, AUG, OCT, NOV, DEC
|
|
18
17
|
from holidays.holiday_base import HolidayBase
|
|
18
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class Hungary(HolidayBase):
|
|
21
|
+
class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
22
22
|
"""
|
|
23
23
|
https://en.wikipedia.org/wiki/Public_holidays_in_Hungary
|
|
24
24
|
Codification dates:
|
|
@@ -27,126 +27,127 @@ class Hungary(HolidayBase):
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
country = "HU"
|
|
30
|
+
default_language = "hu"
|
|
31
|
+
supported_languages = ("en_US", "hu", "uk")
|
|
30
32
|
|
|
31
|
-
def
|
|
33
|
+
def _add_observed(
|
|
32
34
|
self,
|
|
33
35
|
dt: date,
|
|
34
|
-
name: str,
|
|
35
36
|
since: int = 2010,
|
|
36
37
|
before: bool = True,
|
|
37
38
|
after: bool = True,
|
|
38
39
|
) -> None:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
self.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
elif self._is_thursday(dt) and after:
|
|
47
|
-
self._add_holiday(f"{name} utáni pihenőnap", dt + td(days=+1))
|
|
48
|
-
|
|
49
|
-
def _populate(self, year: int) -> None:
|
|
50
|
-
super()._populate(year)
|
|
51
|
-
|
|
52
|
-
# New year's Day.
|
|
53
|
-
self._add_with_observed_day_off(
|
|
54
|
-
date(year, JAN, 1), "Újév", before=False, since=2014
|
|
55
|
-
)
|
|
56
|
-
|
|
57
|
-
# National Day.
|
|
58
|
-
if 1945 <= year <= 1950 or 1989 <= year:
|
|
59
|
-
self._add_with_observed_day_off(
|
|
60
|
-
date(year, MAR, 15), "Nemzeti ünnep"
|
|
40
|
+
if not self.observed or dt.year < since:
|
|
41
|
+
return None
|
|
42
|
+
if self._is_tuesday(dt) and before:
|
|
43
|
+
self._add_holiday(
|
|
44
|
+
# Day off before
|
|
45
|
+
self.tr("%s előtti pihenőnap") % self[dt],
|
|
46
|
+
dt + td(days=-1),
|
|
61
47
|
)
|
|
62
|
-
|
|
63
|
-
# Soviet era.
|
|
64
|
-
if 1950 <= year <= 1989:
|
|
65
|
-
# Proclamation of Soviet socialist governing system.
|
|
48
|
+
elif self._is_thursday(dt) and after:
|
|
66
49
|
self._add_holiday(
|
|
67
|
-
|
|
50
|
+
# Day off after
|
|
51
|
+
self.tr("%s utáni pihenőnap") % self[dt],
|
|
52
|
+
dt + td(days=+1),
|
|
68
53
|
)
|
|
69
54
|
|
|
70
|
-
|
|
71
|
-
|
|
55
|
+
def __init__(self, *args, **kwargs):
|
|
56
|
+
ChristianHolidays.__init__(self)
|
|
57
|
+
InternationalHolidays.__init__(self)
|
|
58
|
+
super().__init__(*args, **kwargs)
|
|
72
59
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
60
|
+
def _populate(self, year):
|
|
61
|
+
super()._populate(year)
|
|
62
|
+
|
|
63
|
+
# New Year's Day.
|
|
64
|
+
name = self.tr("Újév")
|
|
65
|
+
self._add_observed(self._add_new_years_day(name), before=False, since=2014)
|
|
78
66
|
|
|
79
|
-
|
|
67
|
+
# The last day of the year is an observed day off if New Year's Day
|
|
68
|
+
# falls on a Tuesday.
|
|
69
|
+
if self.observed and self._is_monday(DEC, 31) and year >= 2014:
|
|
70
|
+
self._add_holiday(self.tr("%s előtti pihenőnap") % name, DEC, 31)
|
|
80
71
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
self._add_holiday("
|
|
72
|
+
if 1945 <= year <= 1950 or year >= 1989:
|
|
73
|
+
# National Day.
|
|
74
|
+
self._add_observed(self._add_holiday(tr("Nemzeti ünnep"), MAR, 15))
|
|
75
|
+
|
|
76
|
+
if year >= 2017:
|
|
77
|
+
# Good Friday.
|
|
78
|
+
self._add_good_friday(tr("Nagypéntek"))
|
|
84
79
|
|
|
85
80
|
# Easter.
|
|
86
|
-
self.
|
|
81
|
+
self._add_easter_sunday(tr("Húsvét"))
|
|
87
82
|
|
|
88
|
-
# Second Easter Day.
|
|
89
83
|
if year != 1955:
|
|
90
|
-
|
|
84
|
+
# Easter Monday.
|
|
85
|
+
self._add_easter_monday(tr("Húsvét Hétfő"))
|
|
91
86
|
|
|
92
|
-
#
|
|
93
|
-
self.
|
|
87
|
+
# Whit Sunday.
|
|
88
|
+
self._add_whit_sunday(tr("Pünkösd"))
|
|
94
89
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
self.
|
|
90
|
+
if year <= 1952 or year >= 1992:
|
|
91
|
+
# Whit Monday.
|
|
92
|
+
self._add_whit_monday(tr("Pünkösdhétfő"))
|
|
98
93
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
)
|
|
104
|
-
|
|
105
|
-
|
|
94
|
+
if year >= 1946:
|
|
95
|
+
# Labor Day.
|
|
96
|
+
name = tr("A Munka ünnepe")
|
|
97
|
+
may_1 = self._add_labor_day(name)
|
|
98
|
+
self._add_observed(may_1)
|
|
99
|
+
if 1950 <= year <= 1953:
|
|
100
|
+
self._add_holiday(name, may_1 + td(days=+1))
|
|
106
101
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
# National Day.
|
|
116
|
-
if 1991 <= year:
|
|
117
|
-
self._add_with_observed_day_off(
|
|
118
|
-
date(year, OCT, 23), "Nemzeti ünnep"
|
|
102
|
+
self._add_observed(
|
|
103
|
+
self._add_holiday(
|
|
104
|
+
# Bread Day.
|
|
105
|
+
tr("A kenyér ünnepe") if 1950 <= year <= 1989 else
|
|
106
|
+
# State Foundation Day.
|
|
107
|
+
tr("Az államalapítás ünnepe"),
|
|
108
|
+
AUG,
|
|
109
|
+
20,
|
|
119
110
|
)
|
|
111
|
+
)
|
|
120
112
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
self.
|
|
124
|
-
date(year, NOV, 1), "Mindenszentek"
|
|
125
|
-
)
|
|
113
|
+
if year >= 1991:
|
|
114
|
+
# National Day.
|
|
115
|
+
self._add_observed(self._add_holiday(tr("Nemzeti ünnep"), OCT, 23))
|
|
126
116
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
self._add_holiday("Szenteste", DEC, 24)
|
|
117
|
+
if year >= 1999:
|
|
118
|
+
# All Saints' Day.
|
|
119
|
+
self._add_observed(self._add_all_saints_day(tr("Mindenszentek")))
|
|
131
120
|
|
|
132
|
-
# Christmas
|
|
133
|
-
self.
|
|
121
|
+
# Christmas Day.
|
|
122
|
+
self._add_christmas_day(tr("Karácsony"))
|
|
134
123
|
|
|
135
|
-
# Christmas Second Day.
|
|
136
124
|
if year != 1955:
|
|
137
|
-
self.
|
|
138
|
-
|
|
139
|
-
"Karácsony másnapja",
|
|
125
|
+
self._add_observed(
|
|
126
|
+
# Second Day of Christmas.
|
|
127
|
+
self._add_christmas_day_two(tr("Karácsony másnapja")),
|
|
140
128
|
since=2013,
|
|
141
129
|
before=False,
|
|
142
130
|
)
|
|
143
131
|
|
|
144
|
-
#
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
132
|
+
# Soviet era.
|
|
133
|
+
if 1950 <= year <= 1989:
|
|
134
|
+
self._add_holiday(
|
|
135
|
+
# Proclamation of Soviet Republic Day.
|
|
136
|
+
tr("A Tanácsköztársaság kikiáltásának ünnepe"),
|
|
137
|
+
MAR,
|
|
138
|
+
21,
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
# Liberation Day.
|
|
142
|
+
self._add_holiday(tr("A felszabadulás ünnepe"), APR, 4)
|
|
143
|
+
|
|
144
|
+
if year not in {1956, 1989}:
|
|
145
|
+
self._add_holiday(
|
|
146
|
+
# Great October Socialist Revolution Day.
|
|
147
|
+
tr("A nagy októberi szocialista forradalom ünnepe"),
|
|
148
|
+
NOV,
|
|
149
|
+
7,
|
|
150
|
+
)
|
|
150
151
|
|
|
151
152
|
|
|
152
153
|
class HU(Hungary):
|
holidays/countries/india.py
CHANGED
|
@@ -13,13 +13,10 @@ import warnings
|
|
|
13
13
|
|
|
14
14
|
from holidays.constants import JAN, MAR, APR, MAY, JUN, AUG, OCT, NOV
|
|
15
15
|
from holidays.holiday_base import HolidayBase
|
|
16
|
-
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays
|
|
17
|
-
from holidays.holiday_groups import IslamicHolidays
|
|
16
|
+
from holidays.holiday_groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
18
17
|
|
|
19
18
|
|
|
20
|
-
class India(
|
|
21
|
-
HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
22
|
-
):
|
|
19
|
+
class India(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
23
20
|
"""
|
|
24
21
|
https://www.india.gov.in/calendar
|
|
25
22
|
https://www.india.gov.in/state-and-ut-holiday-calendar
|
|
@@ -100,9 +97,7 @@ class India(
|
|
|
100
97
|
# https://github.com/facebook/prophet/blob/main/python/prophet/hdays.py
|
|
101
98
|
# Warnings kept in place so that users are aware
|
|
102
99
|
if year < 2001 or year > 2030:
|
|
103
|
-
warning_msg =
|
|
104
|
-
"Diwali and Holi holidays available from 2001 to 2030 only"
|
|
105
|
-
)
|
|
100
|
+
warning_msg = "Diwali and Holi holidays available from 2001 to 2030 only"
|
|
106
101
|
warnings.warn(warning_msg, Warning)
|
|
107
102
|
|
|
108
103
|
# https://www.timeanddate.com/holidays/india/diwali
|
|
@@ -255,9 +250,7 @@ class India(
|
|
|
255
250
|
def _add_subdiv_or_holidays(self):
|
|
256
251
|
self._add_holiday("Odisha Day (Utkala Dibasa)", APR, 1)
|
|
257
252
|
self._add_holiday("Dr. B. R. Ambedkar's Jayanti", APR, 14)
|
|
258
|
-
self._add_holiday(
|
|
259
|
-
"Maha Vishuva Sankranti / Pana" " Sankranti", APR, 15
|
|
260
|
-
)
|
|
253
|
+
self._add_holiday("Maha Vishuva Sankranti / Pana Sankranti", APR, 15)
|
|
261
254
|
|
|
262
255
|
# Rajasthan.
|
|
263
256
|
def _add_subdiv_rj_holidays(self):
|
holidays/countries/indonesia.py
CHANGED
|
@@ -9,14 +9,20 @@
|
|
|
9
9
|
# Website: https://github.com/dr-prodigy/python-holidays
|
|
10
10
|
# License: MIT (see LICENSE file)
|
|
11
11
|
|
|
12
|
-
from holidays.calendars import
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
from holidays.calendars import (
|
|
13
|
+
_CustomBuddhistCalendar,
|
|
14
|
+
_CustomChineseCalendar,
|
|
15
|
+
_CustomIslamicCalendar,
|
|
16
|
+
)
|
|
17
|
+
from holidays.constants import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
16
18
|
from holidays.holiday_base import HolidayBase
|
|
17
|
-
from holidays.holiday_groups import
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
from holidays.holiday_groups import (
|
|
20
|
+
BuddhistCalendarHolidays,
|
|
21
|
+
ChineseCalendarHolidays,
|
|
22
|
+
ChristianHolidays,
|
|
23
|
+
InternationalHolidays,
|
|
24
|
+
IslamicHolidays,
|
|
25
|
+
)
|
|
20
26
|
|
|
21
27
|
|
|
22
28
|
class Indonesia(
|
|
@@ -37,9 +43,9 @@ class Indonesia(
|
|
|
37
43
|
country = "ID"
|
|
38
44
|
special_holidays = {
|
|
39
45
|
# Election Day.
|
|
40
|
-
2018: (
|
|
41
|
-
2019: (
|
|
42
|
-
2020: (
|
|
46
|
+
2018: (JUN, 27, "Hari Pemilihan"),
|
|
47
|
+
2019: (APR, 17, "Hari Pemilihan"),
|
|
48
|
+
2020: (DEC, 9, "Hari Pemilihan"),
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
def __init__(self, *args, **kwargs):
|
|
@@ -189,123 +195,123 @@ class IndonesiaChineseCalendar(_CustomChineseCalendar):
|
|
|
189
195
|
|
|
190
196
|
class IndonesiaIslamicCalendar(_CustomIslamicCalendar):
|
|
191
197
|
EID_AL_ADHA_DATES = {
|
|
192
|
-
2001: (
|
|
193
|
-
2002: (
|
|
194
|
-
2003: (
|
|
195
|
-
2004: (
|
|
196
|
-
2005: (
|
|
198
|
+
2001: (MAR, 6),
|
|
199
|
+
2002: (FEB, 23),
|
|
200
|
+
2003: (FEB, 12),
|
|
201
|
+
2004: (FEB, 2),
|
|
202
|
+
2005: (JAN, 21),
|
|
197
203
|
2006: ((JAN, 10), (DEC, 31)),
|
|
198
|
-
2007: (
|
|
199
|
-
2008: (
|
|
200
|
-
2009: (
|
|
201
|
-
2010: (
|
|
202
|
-
2011: (
|
|
203
|
-
2012: (
|
|
204
|
-
2013: (
|
|
205
|
-
2014: (
|
|
206
|
-
2015: (
|
|
207
|
-
2016: (
|
|
208
|
-
2017: (
|
|
209
|
-
2018: (
|
|
210
|
-
2019: (
|
|
211
|
-
2020: (
|
|
212
|
-
2021: (
|
|
213
|
-
2022: (
|
|
214
|
-
2023: (
|
|
204
|
+
2007: (DEC, 20),
|
|
205
|
+
2008: (DEC, 8),
|
|
206
|
+
2009: (NOV, 27),
|
|
207
|
+
2010: (NOV, 17),
|
|
208
|
+
2011: (NOV, 6),
|
|
209
|
+
2012: (OCT, 26),
|
|
210
|
+
2013: (OCT, 15),
|
|
211
|
+
2014: (OCT, 5),
|
|
212
|
+
2015: (SEP, 24),
|
|
213
|
+
2016: (SEP, 12),
|
|
214
|
+
2017: (SEP, 1),
|
|
215
|
+
2018: (AUG, 22),
|
|
216
|
+
2019: (AUG, 11),
|
|
217
|
+
2020: (JUL, 31),
|
|
218
|
+
2021: (JUL, 20),
|
|
219
|
+
2022: (JUL, 10),
|
|
220
|
+
2023: (JUN, 29),
|
|
215
221
|
}
|
|
216
222
|
|
|
217
223
|
EID_AL_FITR_DATES = {
|
|
218
|
-
2001: (
|
|
219
|
-
2002: (
|
|
220
|
-
2003: (
|
|
221
|
-
2004: (
|
|
222
|
-
2005: (
|
|
223
|
-
2006: (
|
|
224
|
-
2007: (
|
|
225
|
-
2008: (
|
|
226
|
-
2009: (
|
|
227
|
-
2010: (
|
|
228
|
-
2011: (
|
|
229
|
-
2012: (
|
|
230
|
-
2013: (
|
|
231
|
-
2014: (
|
|
232
|
-
2015: (
|
|
233
|
-
2016: (
|
|
234
|
-
2017: (
|
|
235
|
-
2018: (
|
|
236
|
-
2019: (
|
|
237
|
-
2020: (
|
|
238
|
-
2021: (
|
|
239
|
-
2022: (
|
|
240
|
-
2023: (
|
|
224
|
+
2001: (DEC, 16),
|
|
225
|
+
2002: (DEC, 6),
|
|
226
|
+
2003: (NOV, 25),
|
|
227
|
+
2004: (NOV, 14),
|
|
228
|
+
2005: (NOV, 3),
|
|
229
|
+
2006: (OCT, 24),
|
|
230
|
+
2007: (OCT, 13),
|
|
231
|
+
2008: (OCT, 1),
|
|
232
|
+
2009: (SEP, 20),
|
|
233
|
+
2010: (SEP, 10),
|
|
234
|
+
2011: (AUG, 30),
|
|
235
|
+
2012: (AUG, 19),
|
|
236
|
+
2013: (AUG, 8),
|
|
237
|
+
2014: (JUL, 28),
|
|
238
|
+
2015: (JUL, 17),
|
|
239
|
+
2016: (JUL, 6),
|
|
240
|
+
2017: (JUN, 25),
|
|
241
|
+
2018: (JUN, 15),
|
|
242
|
+
2019: (JUN, 5),
|
|
243
|
+
2020: (MAY, 24),
|
|
244
|
+
2021: (MAY, 13),
|
|
245
|
+
2022: (MAY, 2),
|
|
246
|
+
2023: (APR, 22),
|
|
241
247
|
}
|
|
242
248
|
|
|
243
249
|
HIJRI_NEW_YEAR_DATES = {
|
|
244
|
-
2001: (
|
|
245
|
-
2002: (
|
|
246
|
-
2003: (
|
|
247
|
-
2004: (
|
|
248
|
-
2005: (
|
|
249
|
-
2006: (
|
|
250
|
-
2007: (
|
|
250
|
+
2001: (MAR, 26),
|
|
251
|
+
2002: (MAR, 15),
|
|
252
|
+
2003: (MAR, 5),
|
|
253
|
+
2004: (FEB, 22),
|
|
254
|
+
2005: (FEB, 10),
|
|
255
|
+
2006: (JAN, 31),
|
|
256
|
+
2007: (JAN, 20),
|
|
251
257
|
2008: ((JAN, 10), (DEC, 29)),
|
|
252
|
-
2009: (
|
|
253
|
-
2010: (
|
|
254
|
-
2011: (
|
|
255
|
-
2012: (
|
|
256
|
-
2013: (
|
|
257
|
-
2014: (
|
|
258
|
-
2015: (
|
|
259
|
-
2016: (
|
|
260
|
-
2017: (
|
|
261
|
-
2018: (
|
|
262
|
-
2019: (
|
|
263
|
-
2020: (
|
|
264
|
-
2021: (
|
|
265
|
-
2022: (
|
|
258
|
+
2009: (DEC, 18),
|
|
259
|
+
2010: (DEC, 7),
|
|
260
|
+
2011: (NOV, 27),
|
|
261
|
+
2012: (NOV, 15),
|
|
262
|
+
2013: (NOV, 5),
|
|
263
|
+
2014: (OCT, 25),
|
|
264
|
+
2015: (OCT, 14),
|
|
265
|
+
2016: (OCT, 2),
|
|
266
|
+
2017: (SEP, 21),
|
|
267
|
+
2018: (SEP, 11),
|
|
268
|
+
2019: (SEP, 1),
|
|
269
|
+
2020: (AUG, 20),
|
|
270
|
+
2021: (AUG, 11),
|
|
271
|
+
2022: (JUL, 30),
|
|
266
272
|
}
|
|
267
273
|
|
|
268
274
|
ISRA_AND_MIRAJ_DATES = {
|
|
269
|
-
2001: (
|
|
270
|
-
2002: (
|
|
271
|
-
2003: (
|
|
272
|
-
2004: (
|
|
273
|
-
2005: (
|
|
274
|
-
2006: (
|
|
275
|
-
2007: (
|
|
276
|
-
2008: (
|
|
277
|
-
2009: (
|
|
278
|
-
2010: (
|
|
279
|
-
2011: (
|
|
280
|
-
2012: (
|
|
281
|
-
2013: (
|
|
282
|
-
2014: (
|
|
283
|
-
2015: (
|
|
284
|
-
2016: (
|
|
285
|
-
2017: (
|
|
286
|
-
2018: (
|
|
287
|
-
2019: (
|
|
288
|
-
2020: (
|
|
289
|
-
2021: (
|
|
290
|
-
2022: (
|
|
275
|
+
2001: (OCT, 15),
|
|
276
|
+
2002: (OCT, 4),
|
|
277
|
+
2003: (SEP, 24),
|
|
278
|
+
2004: (SEP, 12),
|
|
279
|
+
2005: (SEP, 1),
|
|
280
|
+
2006: (AUG, 22),
|
|
281
|
+
2007: (AUG, 11),
|
|
282
|
+
2008: (JUL, 31),
|
|
283
|
+
2009: (JUL, 20),
|
|
284
|
+
2010: (JUL, 9),
|
|
285
|
+
2011: (JUN, 29),
|
|
286
|
+
2012: (JUN, 17),
|
|
287
|
+
2013: (JUN, 6),
|
|
288
|
+
2014: (MAY, 27),
|
|
289
|
+
2015: (MAY, 16),
|
|
290
|
+
2016: (MAY, 6),
|
|
291
|
+
2017: (APR, 24),
|
|
292
|
+
2018: (APR, 14),
|
|
293
|
+
2019: (APR, 3),
|
|
294
|
+
2020: (MAR, 22),
|
|
295
|
+
2021: (MAR, 11),
|
|
296
|
+
2022: (FEB, 28),
|
|
291
297
|
}
|
|
292
298
|
|
|
293
299
|
MAWLID_DATES = {
|
|
294
|
-
2006: (
|
|
295
|
-
2007: (
|
|
296
|
-
2008: (
|
|
297
|
-
2009: (
|
|
298
|
-
2010: (
|
|
299
|
-
2011: (
|
|
300
|
-
2012: (
|
|
301
|
-
2013: (
|
|
302
|
-
2014: (
|
|
300
|
+
2006: (APR, 10),
|
|
301
|
+
2007: (MAR, 31),
|
|
302
|
+
2008: (MAR, 20),
|
|
303
|
+
2009: (MAR, 9),
|
|
304
|
+
2010: (FEB, 26),
|
|
305
|
+
2011: (FEB, 15),
|
|
306
|
+
2012: (FEB, 5),
|
|
307
|
+
2013: (JAN, 24),
|
|
308
|
+
2014: (JAN, 14),
|
|
303
309
|
2015: ((JAN, 3), (DEC, 24)),
|
|
304
|
-
2016: (
|
|
305
|
-
2017: (
|
|
306
|
-
2018: (
|
|
307
|
-
2019: (
|
|
308
|
-
2020: (
|
|
309
|
-
2021: (
|
|
310
|
-
2022: (
|
|
310
|
+
2016: (DEC, 12),
|
|
311
|
+
2017: (DEC, 1),
|
|
312
|
+
2018: (NOV, 20),
|
|
313
|
+
2019: (NOV, 9),
|
|
314
|
+
2020: (OCT, 29),
|
|
315
|
+
2021: (OCT, 19),
|
|
316
|
+
2022: (OCT, 8),
|
|
311
317
|
}
|
holidays/countries/ireland.py
CHANGED
|
@@ -27,9 +27,7 @@ class Ireland(HolidayBase):
|
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
country = "IE"
|
|
30
|
-
special_holidays = {
|
|
31
|
-
2022: ((MAR, 18, "Day of Remembrance and Recognition"),)
|
|
32
|
-
}
|
|
30
|
+
special_holidays = {2022: (MAR, 18, "Day of Remembrance and Recognition")}
|
|
33
31
|
|
|
34
32
|
def _populate(self, year):
|
|
35
33
|
super()._populate(year)
|
|
@@ -40,9 +38,7 @@ class Ireland(HolidayBase):
|
|
|
40
38
|
if year >= 2023:
|
|
41
39
|
dt = date(year, FEB, 1)
|
|
42
40
|
self[
|
|
43
|
-
dt
|
|
44
|
-
if self._is_friday(dt)
|
|
45
|
-
else _get_nth_weekday_from(1, MON, dt)
|
|
41
|
+
dt if self._is_friday(dt) else _get_nth_weekday_from(1, MON, dt)
|
|
46
42
|
] = "St. Brigid's Day"
|
|
47
43
|
|
|
48
44
|
# St. Patrick's Day
|
|
@@ -65,19 +61,13 @@ class Ireland(HolidayBase):
|
|
|
65
61
|
self[dt] = name
|
|
66
62
|
|
|
67
63
|
# June bank holiday (first Monday in June)
|
|
68
|
-
self[
|
|
69
|
-
_get_nth_weekday_of_month(1, MON, JUN, year)
|
|
70
|
-
] = "June Bank Holiday"
|
|
64
|
+
self[_get_nth_weekday_of_month(1, MON, JUN, year)] = "June Bank Holiday"
|
|
71
65
|
|
|
72
66
|
# Summer bank holiday (first Monday in August)
|
|
73
|
-
self[
|
|
74
|
-
_get_nth_weekday_of_month(1, MON, AUG, year)
|
|
75
|
-
] = "August Bank Holiday"
|
|
67
|
+
self[_get_nth_weekday_of_month(1, MON, AUG, year)] = "August Bank Holiday"
|
|
76
68
|
|
|
77
69
|
# October Bank Holiday (last Monday in October)
|
|
78
|
-
self[
|
|
79
|
-
_get_nth_weekday_of_month(-1, MON, OCT, year)
|
|
80
|
-
] = "October Bank Holiday"
|
|
70
|
+
self[_get_nth_weekday_of_month(-1, MON, OCT, year)] = "October Bank Holiday"
|
|
81
71
|
|
|
82
72
|
# Christmas Day
|
|
83
73
|
name = "Christmas Day"
|
|
@@ -9,6 +9,9 @@
|
|
|
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
|
+
from datetime import timedelta as td
|
|
14
|
+
|
|
12
15
|
from holidays.calendars import _get_nth_weekday_of_month
|
|
13
16
|
from holidays.constants import JUN, JUL, AUG, MON, FRI
|
|
14
17
|
from holidays.holiday_base import HolidayBase
|
|
@@ -43,12 +46,14 @@ class IsleOfMan(UnitedKingdom):
|
|
|
43
46
|
|
|
44
47
|
# Isle of Man exclusive holidays
|
|
45
48
|
# TT bank holiday (first Friday in June)
|
|
46
|
-
self._add_holiday(
|
|
47
|
-
"TT Bank Holiday", _get_nth_weekday_of_month(1, FRI, JUN, year)
|
|
48
|
-
)
|
|
49
|
+
self._add_holiday("TT Bank Holiday", _get_nth_weekday_of_month(1, FRI, JUN, year))
|
|
49
50
|
|
|
50
51
|
# Tynwald Day
|
|
51
|
-
|
|
52
|
+
# Move to the next Monday if falls on a weekend.
|
|
53
|
+
dt = date(year, JUL, 5)
|
|
54
|
+
if self._is_weekend(dt) and year >= 1992:
|
|
55
|
+
dt += td(days=+2 if self._is_saturday(dt) else +1)
|
|
56
|
+
self._add_holiday("Tynwald Day", dt)
|
|
52
57
|
|
|
53
58
|
|
|
54
59
|
class IM(IsleOfMan):
|