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/hongkong.py
CHANGED
|
@@ -11,15 +11,24 @@
|
|
|
11
11
|
|
|
12
12
|
from datetime import date
|
|
13
13
|
from datetime import timedelta as td
|
|
14
|
+
from typing import Optional
|
|
14
15
|
|
|
15
|
-
from
|
|
16
|
-
|
|
17
|
-
from holidays.calendars import _ChineseLuniSolar, _get_nth_weekday_of_month
|
|
18
|
-
from holidays.constants import JAN, APR, MAY, JUN, JUL, AUG, SEP, OCT, DEC, MON
|
|
16
|
+
from holidays.calendars import _get_nth_weekday_of_month
|
|
17
|
+
from holidays.constants import JUN, JUL, AUG, SEP, OCT, MON
|
|
19
18
|
from holidays.holiday_base import HolidayBase
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
from holidays.holiday_groups import (
|
|
20
|
+
ChineseCalendarHolidays,
|
|
21
|
+
ChristianHolidays,
|
|
22
|
+
InternationalHolidays,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class HongKong(
|
|
27
|
+
HolidayBase,
|
|
28
|
+
ChineseCalendarHolidays,
|
|
29
|
+
ChristianHolidays,
|
|
30
|
+
InternationalHolidays,
|
|
31
|
+
):
|
|
23
32
|
"""
|
|
24
33
|
https://en.wikipedia.org/wiki/Public_holidays_in_Hong_Kong
|
|
25
34
|
Holidays for 2007–2023 (government source):
|
|
@@ -28,9 +37,13 @@ class HongKong(HolidayBase):
|
|
|
28
37
|
|
|
29
38
|
country = "HK"
|
|
30
39
|
special_holidays = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
1997: (
|
|
41
|
+
(
|
|
42
|
+
JUL,
|
|
43
|
+
2,
|
|
44
|
+
"Hong Kong Special Administrative Region Establishment Day",
|
|
45
|
+
),
|
|
46
|
+
),
|
|
34
47
|
2015: (
|
|
35
48
|
(
|
|
36
49
|
SEP,
|
|
@@ -41,9 +54,20 @@ class HongKong(HolidayBase):
|
|
|
41
54
|
),
|
|
42
55
|
}
|
|
43
56
|
|
|
44
|
-
def __init__(self, **kwargs):
|
|
45
|
-
|
|
46
|
-
|
|
57
|
+
def __init__(self, *args, **kwargs):
|
|
58
|
+
ChineseCalendarHolidays.__init__(self)
|
|
59
|
+
ChristianHolidays.__init__(self)
|
|
60
|
+
InternationalHolidays.__init__(self)
|
|
61
|
+
super().__init__(*args, **kwargs)
|
|
62
|
+
|
|
63
|
+
def _add_holiday(self, *args) -> Optional[date]:
|
|
64
|
+
name, dt = self._parse_holiday(*args)
|
|
65
|
+
if self.observed and (self._is_sunday(dt) or dt in self):
|
|
66
|
+
while self._is_sunday(dt) or dt in self:
|
|
67
|
+
dt += td(days=+1)
|
|
68
|
+
name = self.tr("The day following %s") % self.tr(name)
|
|
69
|
+
self[dt] = self.tr(name)
|
|
70
|
+
return dt
|
|
47
71
|
|
|
48
72
|
def _populate(self, year):
|
|
49
73
|
# Current set of holidays actually valid since 1946
|
|
@@ -55,13 +79,7 @@ class HongKong(HolidayBase):
|
|
|
55
79
|
day_following = "The day following "
|
|
56
80
|
|
|
57
81
|
# The first day of January
|
|
58
|
-
|
|
59
|
-
if self.observed and self._is_sunday(first_date):
|
|
60
|
-
self[first_date + td(days=+1)] = (
|
|
61
|
-
day_following + "the first day of January"
|
|
62
|
-
)
|
|
63
|
-
else:
|
|
64
|
-
self[first_date] = "The first day of January"
|
|
82
|
+
self._add_new_years_day("The first day of January")
|
|
65
83
|
|
|
66
84
|
# Lunar New Year
|
|
67
85
|
name = "Lunar New Year's Day"
|
|
@@ -69,97 +87,75 @@ class HongKong(HolidayBase):
|
|
|
69
87
|
second_day_lunar = "The second day of Lunar New Year"
|
|
70
88
|
third_day_lunar = "The third day of Lunar New Year"
|
|
71
89
|
fourth_day_lunar = "The fourth day of Lunar New Year"
|
|
72
|
-
new_year_date = self.
|
|
90
|
+
new_year_date = self._chinese_new_year
|
|
73
91
|
if self.observed:
|
|
74
92
|
if self._is_sunday(new_year_date):
|
|
75
93
|
if year in {2006, 2007, 2010}:
|
|
76
|
-
self
|
|
94
|
+
self._add_chinese_new_years_eve(preceding_day_lunar)
|
|
77
95
|
else:
|
|
78
|
-
self
|
|
96
|
+
self._add_chinese_new_years_day_four(fourth_day_lunar)
|
|
79
97
|
else:
|
|
80
|
-
self
|
|
98
|
+
self._add_chinese_new_years_day(name)
|
|
81
99
|
if self._is_saturday(new_year_date):
|
|
82
|
-
self
|
|
100
|
+
self._add_chinese_new_years_day_four(fourth_day_lunar)
|
|
83
101
|
else:
|
|
84
|
-
self
|
|
102
|
+
self._add_chinese_new_years_day_two(second_day_lunar)
|
|
85
103
|
if self._is_friday(new_year_date):
|
|
86
|
-
self
|
|
104
|
+
self._add_chinese_new_years_day_four(fourth_day_lunar)
|
|
87
105
|
else:
|
|
88
|
-
self
|
|
106
|
+
self._add_chinese_new_years_day_three(third_day_lunar)
|
|
89
107
|
else:
|
|
90
|
-
self
|
|
91
|
-
self
|
|
92
|
-
self
|
|
108
|
+
self._add_chinese_new_years_day(name)
|
|
109
|
+
self._add_chinese_new_years_day_two(second_day_lunar)
|
|
110
|
+
self._add_chinese_new_years_day_three(third_day_lunar)
|
|
93
111
|
|
|
94
|
-
|
|
95
|
-
easter_monday_date = easter_date + td(days=+1)
|
|
112
|
+
easter_monday_date = self._easter_sunday + td(days=+1)
|
|
96
113
|
|
|
97
114
|
# Ching Ming Festival
|
|
98
115
|
name = "Ching Ming Festival"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
self.
|
|
107
|
-
or ching_ming_date == easter_monday_date
|
|
108
|
-
):
|
|
109
|
-
self[ching_ming_date + td(days=+1)] = day_following + name
|
|
110
|
-
else:
|
|
111
|
-
self[ching_ming_date] = name
|
|
116
|
+
ching_ming_date = self._qingming_date
|
|
117
|
+
if self.observed and ching_ming_date == easter_monday_date:
|
|
118
|
+
self._add_holiday(f"{day_following}{name}", ching_ming_date + td(days=+1))
|
|
119
|
+
elif ching_ming_date not in {
|
|
120
|
+
self._easter_sunday + td(days=-2),
|
|
121
|
+
self._easter_sunday + td(days=-1),
|
|
122
|
+
}:
|
|
123
|
+
self._add_holiday(name, ching_ming_date)
|
|
112
124
|
|
|
113
125
|
# Easter Holiday
|
|
114
126
|
good_friday = "Good Friday"
|
|
115
127
|
easter_monday = "Easter Monday"
|
|
116
|
-
self
|
|
117
|
-
self
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if year >=
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
self[buddha_date] = name
|
|
133
|
-
|
|
134
|
-
# Labour Day
|
|
135
|
-
if year >= 1998:
|
|
136
|
-
name = "Labour Day"
|
|
137
|
-
labour_date = date(year, MAY, 1)
|
|
138
|
-
if self.observed and self._is_sunday(labour_date):
|
|
139
|
-
self[labour_date + td(days=+1)] = day_following + name
|
|
140
|
-
else:
|
|
141
|
-
self[labour_date] = name
|
|
128
|
+
self._add_good_friday(good_friday)
|
|
129
|
+
self._add_holy_saturday(f"{day_following}{good_friday}")
|
|
130
|
+
self._add_easter_monday(easter_monday)
|
|
131
|
+
|
|
132
|
+
if ching_ming_date in {
|
|
133
|
+
self._easter_sunday + td(days=-2),
|
|
134
|
+
self._easter_sunday + td(days=-1),
|
|
135
|
+
}:
|
|
136
|
+
super()._add_holiday(name, ching_ming_date)
|
|
137
|
+
|
|
138
|
+
if year >= 1999:
|
|
139
|
+
# The Birthday of the Buddha
|
|
140
|
+
self._add_chinese_birthday_of_buddha("The Birthday of the Buddha")
|
|
141
|
+
|
|
142
|
+
# Labour Day
|
|
143
|
+
self._add_labor_day("Labour Day")
|
|
142
144
|
|
|
143
145
|
# Tuen Ng Festival
|
|
144
|
-
|
|
145
|
-
tuen_ng_date = self.cnls.lunar_to_gre(year, 5, 5)
|
|
146
|
-
if self.observed and self._is_sunday(tuen_ng_date):
|
|
147
|
-
self[tuen_ng_date + td(days=+1)] = day_following + name
|
|
148
|
-
else:
|
|
149
|
-
self[tuen_ng_date] = name
|
|
146
|
+
self._add_dragon_boat_festival("Tuen Ng Festival")
|
|
150
147
|
|
|
151
148
|
# Hong Kong Special Administrative Region Establishment Day
|
|
152
149
|
if year >= 1997:
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
self[hksar_date] = name
|
|
150
|
+
self._add_holiday(
|
|
151
|
+
"Hong Kong Special Administrative Region Establishment Day",
|
|
152
|
+
JUL,
|
|
153
|
+
1,
|
|
154
|
+
)
|
|
159
155
|
|
|
160
156
|
# Chinese Mid-Autumn Festival
|
|
161
157
|
name = "Chinese Mid-Autumn Festival"
|
|
162
|
-
mid_autumn_date = self.
|
|
158
|
+
mid_autumn_date = self._mid_autumn_festival
|
|
163
159
|
if self.observed:
|
|
164
160
|
# if Chinese Mid-Autumn Festival lies on Saturday
|
|
165
161
|
# before 1983 public holiday lies on Monday
|
|
@@ -167,72 +163,67 @@ class HongKong(HolidayBase):
|
|
|
167
163
|
# since 2011 public holiday lies on Monday
|
|
168
164
|
if self._is_saturday(mid_autumn_date):
|
|
169
165
|
if 1983 <= year <= 2010:
|
|
170
|
-
self
|
|
166
|
+
self._add_mid_autumn_festival(name)
|
|
171
167
|
else:
|
|
172
|
-
self
|
|
173
|
-
"The second day of the
|
|
168
|
+
self._add_holiday(
|
|
169
|
+
f"The second day of the {name} (Monday)",
|
|
170
|
+
mid_autumn_date + td(days=+2),
|
|
174
171
|
)
|
|
175
172
|
else:
|
|
176
|
-
self
|
|
177
|
-
day_following + "the " + name
|
|
178
|
-
)
|
|
173
|
+
self._add_mid_autumn_festival_day_two(f"The day following the {name}")
|
|
179
174
|
else:
|
|
180
|
-
self
|
|
175
|
+
self._add_mid_autumn_festival_day_two(name)
|
|
176
|
+
|
|
177
|
+
# Chung Yeung Festival
|
|
178
|
+
self._add_double_ninth_festival("Chung Yeung Festival")
|
|
181
179
|
|
|
182
180
|
# National Day
|
|
183
181
|
if year >= 1997:
|
|
184
|
-
|
|
185
|
-
national_date = date(year, OCT, 1)
|
|
186
|
-
if self.observed and (
|
|
187
|
-
self._is_sunday(national_date) or self.get(national_date)
|
|
188
|
-
):
|
|
189
|
-
self[national_date + td(days=+1)] = day_following + name
|
|
190
|
-
else:
|
|
191
|
-
self[national_date] = name
|
|
182
|
+
self._add_holiday("National Day", OCT, 1)
|
|
192
183
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
chung_yeung_date = self.cnls.lunar_to_gre(year, 9, 9)
|
|
196
|
-
if self.observed and self._is_sunday(chung_yeung_date):
|
|
197
|
-
self[chung_yeung_date + td(days=+1)] = day_following + name
|
|
198
|
-
else:
|
|
199
|
-
self[chung_yeung_date] = name
|
|
184
|
+
if year <= 1998:
|
|
185
|
+
self._add_holiday("National Day", OCT, 2)
|
|
200
186
|
|
|
201
187
|
# Christmas Day
|
|
202
188
|
name = "Christmas Day"
|
|
203
|
-
first_after_christmas = "The first weekday after "
|
|
204
|
-
second_after_christmas = "The second weekday after "
|
|
205
|
-
christmas_date =
|
|
189
|
+
first_after_christmas = f"The first weekday after {name}"
|
|
190
|
+
second_after_christmas = f"The second weekday after {name}"
|
|
191
|
+
christmas_date = self._christmas_day
|
|
206
192
|
if self.observed:
|
|
207
193
|
if self._is_sunday(christmas_date):
|
|
208
|
-
self
|
|
209
|
-
self
|
|
194
|
+
self._add_christmas_day_two(first_after_christmas)
|
|
195
|
+
self._add_christmas_day_three(second_after_christmas)
|
|
210
196
|
elif self._is_saturday(christmas_date):
|
|
211
|
-
self
|
|
212
|
-
self
|
|
197
|
+
self._add_christmas_day(name)
|
|
198
|
+
self._add_christmas_day_three(first_after_christmas)
|
|
213
199
|
else:
|
|
214
|
-
self
|
|
215
|
-
self
|
|
200
|
+
self._add_christmas_day(name)
|
|
201
|
+
self._add_christmas_day_two(first_after_christmas)
|
|
216
202
|
else:
|
|
217
|
-
self
|
|
218
|
-
self
|
|
203
|
+
self._add_christmas_day(name)
|
|
204
|
+
self._add_christmas_day_two(first_after_christmas)
|
|
219
205
|
|
|
220
206
|
# Previous holidays
|
|
221
207
|
if 1952 <= year <= 1997:
|
|
222
208
|
# Queen's Birthday (June 2nd Monday)
|
|
223
|
-
self
|
|
224
|
-
|
|
225
|
-
|
|
209
|
+
self._add_holiday(
|
|
210
|
+
"Queen's Birthday",
|
|
211
|
+
_get_nth_weekday_of_month(2, MON, JUN, year),
|
|
212
|
+
)
|
|
226
213
|
|
|
227
214
|
if year <= 1996:
|
|
228
215
|
# Anniversary of the liberation of Hong Kong (August last Monday)
|
|
229
|
-
|
|
230
|
-
|
|
216
|
+
self._add_holiday(
|
|
217
|
+
"Anniversary of the liberation of Hong Kong",
|
|
218
|
+
_get_nth_weekday_of_month(-1, MON, AUG, year),
|
|
219
|
+
)
|
|
231
220
|
|
|
221
|
+
if year <= 1998:
|
|
232
222
|
# Anniversary of the victory in the Second Sino-Japanese War
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
223
|
+
super()._add_holiday(
|
|
224
|
+
"Anniversary of the victory in the Second Sino-Japanese War",
|
|
225
|
+
_get_nth_weekday_of_month(-1, MON, AUG, year) + td(days=-1),
|
|
226
|
+
)
|
|
236
227
|
|
|
237
228
|
|
|
238
229
|
class HK(HongKong):
|
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/iceland.py
CHANGED
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):
|