holidays 0.75__py3-none-any.whl → 0.77__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/calendars/__init__.py +1 -0
- holidays/calendars/mongolian.py +342 -0
- holidays/countries/__init__.py +41 -0
- holidays/countries/aland_islands.py +3 -19
- holidays/countries/algeria.py +1 -1
- holidays/countries/american_samoa.py +8 -20
- holidays/countries/aruba.py +42 -36
- holidays/countries/australia.py +6 -8
- holidays/countries/bahrain.py +1 -1
- holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
- holidays/countries/british_virgin_islands.py +6 -6
- holidays/countries/cabo_verde.py +293 -0
- holidays/countries/cayman_islands.py +162 -0
- holidays/countries/central_african_republic.py +143 -0
- holidays/countries/christmas_island.py +215 -0
- holidays/countries/cocos_islands.py +7 -6
- holidays/countries/curacao.py +64 -38
- holidays/countries/dr_congo.py +139 -0
- holidays/countries/egypt.py +1 -1
- holidays/countries/falkland_islands.py +141 -0
- holidays/countries/faroe_islands.py +102 -0
- holidays/countries/france.py +224 -127
- holidays/countries/french_guiana.py +44 -0
- holidays/countries/french_polynesia.py +43 -0
- holidays/countries/french_southern_territories.py +3 -4
- holidays/countries/georgia.py +11 -5
- holidays/countries/gibraltar.py +219 -0
- holidays/countries/guadeloupe.py +44 -0
- holidays/countries/guam.py +8 -20
- holidays/countries/guernsey.py +6 -6
- holidays/countries/hongkong.py +1 -1
- holidays/countries/hungary.py +2 -1
- holidays/countries/iran.py +1 -1
- holidays/countries/isle_of_man.py +4 -0
- holidays/countries/israel.py +1 -1
- holidays/countries/japan.py +6 -8
- holidays/countries/jersey.py +2 -2
- holidays/countries/jordan.py +1 -1
- holidays/countries/kuwait.py +1 -1
- holidays/countries/lebanon.py +448 -0
- holidays/countries/libya.py +227 -0
- holidays/countries/mali.py +151 -0
- holidays/countries/martinique.py +44 -0
- holidays/countries/mauritius.py +197 -0
- holidays/countries/mayotte.py +44 -0
- holidays/countries/mongolia.py +202 -0
- holidays/countries/montserrat.py +177 -0
- holidays/countries/morocco.py +1 -1
- holidays/countries/nepal.py +8 -8
- holidays/countries/netherlands.py +7 -11
- holidays/countries/new_caledonia.py +43 -0
- holidays/countries/new_zealand.py +2 -2
- holidays/countries/niue.py +115 -0
- holidays/countries/norfolk_island.py +129 -0
- holidays/countries/northern_mariana_islands.py +8 -20
- holidays/countries/oman.py +1 -1
- holidays/countries/palau.py +1 -1
- holidays/countries/palestine.py +177 -0
- holidays/countries/peru.py +12 -0
- holidays/countries/puerto_rico.py +8 -20
- holidays/countries/reunion.py +44 -0
- holidays/countries/saint_barthelemy.py +43 -0
- holidays/countries/saint_martin.py +43 -0
- holidays/countries/saint_pierre_and_miquelon.py +43 -0
- holidays/countries/saint_vincent_and_the_grenadines.py +130 -0
- holidays/countries/san_marino.py +49 -26
- holidays/countries/saudi_arabia.py +3 -3
- holidays/countries/seychelles.py +1 -1
- holidays/countries/sint_maarten.py +118 -0
- holidays/countries/solomon_islands.py +2 -2
- holidays/countries/svalbard_and_jan_mayen.py +3 -9
- holidays/countries/taiwan.py +31 -9
- holidays/countries/tokelau.py +66 -0
- holidays/countries/tunisia.py +1 -1
- holidays/countries/turks_and_caicos_islands.py +3 -3
- holidays/countries/united_arab_emirates.py +1 -1
- holidays/countries/united_kingdom.py +2 -2
- holidays/countries/united_states.py +579 -403
- holidays/countries/united_states_minor_outlying_islands.py +8 -20
- holidays/countries/united_states_virgin_islands.py +8 -20
- holidays/countries/uzbekistan.py +19 -2
- holidays/countries/wallis_and_futuna.py +43 -0
- holidays/countries/yemen.py +2 -2
- holidays/groups/__init__.py +1 -0
- holidays/groups/chinese.py +11 -0
- holidays/groups/christian.py +10 -10
- holidays/groups/eastern.py +1 -1
- holidays/groups/hebrew.py +2 -2
- holidays/groups/islamic.py +17 -0
- holidays/groups/mongolian.py +103 -0
- holidays/holiday_base.py +11 -6
- holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/LB.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/PS.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
- holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
- holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/da/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
- holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/de/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
- holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/en_CX/LC_MESSAGES/CX.mo +0 -0
- holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/GI.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/KY.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
- holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_MS/LC_MESSAGES/MS.mo +0 -0
- holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
- holidays/locale/en_NF/LC_MESSAGES/NF.mo +0 -0
- holidays/locale/en_NU/LC_MESSAGES/NU.mo +0 -0
- holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
- holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
- holidays/locale/en_TK/LC_MESSAGES/TK.mo +0 -0
- holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LB.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ML.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/en_VC/LC_MESSAGES/VC.mo +0 -0
- holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
- holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
- holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
- holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/fo/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CD.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/ML.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
- holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
- holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/is/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
- holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
- holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
- holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
- holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
- holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
- holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
- holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
- holidays/locale/no/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/pt_CV/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
- holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
- holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
- holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
- holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
- holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
- holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/tkl/LC_MESSAGES/TK.mo +0 -0
- holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
- holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
- holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
- holidays/mixins/__init__.py +18 -0
- holidays/mixins/child_entity.py +43 -0
- holidays/observed_holiday_base.py +4 -1
- holidays/registry.py +32 -0
- holidays/version.py +1 -1
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/METADATA +239 -15
- holidays-0.77.dist-info/RECORD +838 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/CONTRIBUTORS +4 -0
- holidays-0.75.dist-info/RECORD +0 -687
- /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/WHEEL +0 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/top_level.txt +0 -0
holidays/countries/curacao.py
CHANGED
|
@@ -10,109 +10,121 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from datetime import date
|
|
14
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
|
-
from holidays.calendars.gregorian import APR, MAY, _timedelta
|
|
17
15
|
from holidays.constants import HALF_DAY, PUBLIC
|
|
18
16
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
19
|
-
from holidays.
|
|
17
|
+
from holidays.observed_holiday_base import (
|
|
18
|
+
ObservedHolidayBase,
|
|
19
|
+
MON_TO_NEXT_TUE,
|
|
20
|
+
SUN_TO_PREV_SAT,
|
|
21
|
+
SUN_TO_NEXT_MON,
|
|
22
|
+
)
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class Curacao(
|
|
25
|
+
class Curacao(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
23
26
|
"""Curaçao holidays.
|
|
24
27
|
|
|
25
28
|
References:
|
|
26
|
-
*
|
|
29
|
+
* [Arbeidsregeling 2000](https://web.archive.org/web/20250625071823/https://lokaleregelgeving.overheid.nl/CVDR10375)
|
|
30
|
+
* [Landbesluit no. 22/2060](https://web.archive.org/web/20240629135453/https://gobiernu.cw/wp-content/uploads/2022/12/123.-GT-Lb.Arebeidsregeling-2000-4.pdf)
|
|
27
31
|
* <https://en.wikipedia.org/wiki/Public_holidays_in_Curaçao>
|
|
32
|
+
* <https://web.archive.org/web/20240723012531/https://loketdigital.gobiernu.cw/contact/officiele-vrije-dagen-op-curacao-nationale-feestdagen>
|
|
33
|
+
* <https://web.archive.org/web/20250422122824/https://www.meetcuracao.com/2-juli-dia-di-bandera-y-himno-op-curacao/>
|
|
28
34
|
"""
|
|
29
35
|
|
|
30
36
|
country = "CW"
|
|
31
37
|
default_language = "pap_CW"
|
|
32
38
|
supported_categories = (HALF_DAY, PUBLIC)
|
|
33
39
|
supported_languages = ("en_US", "nl", "pap_CW", "uk")
|
|
34
|
-
#
|
|
35
|
-
start_year =
|
|
40
|
+
# The Netherlands Antilles was established on December 15th, 1954.
|
|
41
|
+
start_year = 1955
|
|
36
42
|
|
|
37
43
|
def __init__(self, *args, **kwargs):
|
|
38
44
|
ChristianHolidays.__init__(self)
|
|
39
45
|
InternationalHolidays.__init__(self)
|
|
46
|
+
kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
|
|
40
47
|
super().__init__(*args, **kwargs)
|
|
41
48
|
|
|
42
49
|
def _populate_public_holidays(self):
|
|
43
50
|
# Aña Nobo.
|
|
44
51
|
# Status: In-Use.
|
|
45
52
|
|
|
46
|
-
# New Year's Day
|
|
53
|
+
# New Year's Day.
|
|
47
54
|
self._add_new_years_day(tr("Aña Nobo"))
|
|
48
55
|
|
|
49
56
|
# Dialuna despues di Carnaval Grandi.
|
|
50
57
|
# Status: In-Use.
|
|
51
58
|
# Started in 1947.
|
|
52
59
|
|
|
53
|
-
# Carnival Monday
|
|
60
|
+
# Carnival Monday.
|
|
54
61
|
self._add_ash_monday(tr("Dialuna despues di Carnaval Grandi"))
|
|
55
62
|
|
|
56
63
|
# Bièrnèsantu.
|
|
57
64
|
# Status: In-Use.
|
|
58
65
|
|
|
59
|
-
# Good Friday
|
|
66
|
+
# Good Friday.
|
|
60
67
|
self._add_good_friday(tr("Bièrnèsantu"))
|
|
61
68
|
|
|
62
69
|
# Pasku di Resurekshon.
|
|
63
70
|
# Status: In-Use
|
|
64
71
|
|
|
65
|
-
# Easter Sunday
|
|
72
|
+
# Easter Sunday.
|
|
66
73
|
self._add_easter_sunday(tr("Pasku di Resurekshon"))
|
|
67
74
|
|
|
68
75
|
# Di dos dia di Pasku di Resurekshon.
|
|
69
76
|
# Status: In-Use.
|
|
70
77
|
|
|
71
|
-
# Easter Monday
|
|
78
|
+
# Easter Monday.
|
|
72
79
|
self._add_easter_monday(tr("Di dos dia di Pasku di Resurekshon"))
|
|
73
80
|
|
|
81
|
+
# Dia di Obrero.
|
|
82
|
+
# Status: In-Use.
|
|
83
|
+
# If fall on Sunday, then this will be move to next working day.
|
|
84
|
+
# This is placed here before King's/Queen's Day for _move_holiday logic.
|
|
85
|
+
|
|
86
|
+
self._move_holiday(
|
|
87
|
+
# Labor Day.
|
|
88
|
+
self._add_labor_day(tr("Dia di Obrero")),
|
|
89
|
+
rule=SUN_TO_NEXT_MON if self._year >= 1980 else MON_TO_NEXT_TUE + SUN_TO_NEXT_MON,
|
|
90
|
+
)
|
|
91
|
+
|
|
74
92
|
# Dia di la Reina/Dia di Rey.
|
|
75
93
|
# Status: In-Use.
|
|
76
94
|
# Started under Queen Wilhelmina in 1891.
|
|
77
95
|
# Queen Beatrix kept Queen Juliana's Birthday after her coronation.
|
|
78
|
-
# Switched to
|
|
79
|
-
# Have its name changed again to Dia di Rey from 2021 onwards.
|
|
96
|
+
# Switched to Dia di Rey in 2014 for King Willem-Alexander.
|
|
80
97
|
|
|
81
|
-
|
|
82
|
-
name = (
|
|
98
|
+
self._move_holiday(
|
|
83
99
|
# King's Day.
|
|
84
|
-
tr("Dia di Rey")
|
|
100
|
+
self._add_holiday_apr_27(tr("Dia di Rey"))
|
|
85
101
|
if self._year >= 2014
|
|
86
102
|
# Queen's Day.
|
|
87
|
-
else tr("Dia di la Reina")
|
|
103
|
+
else self._add_holiday_apr_30(tr("Dia di la Reina")),
|
|
104
|
+
rule=SUN_TO_PREV_SAT if self._year >= 1980 else SUN_TO_NEXT_MON,
|
|
88
105
|
)
|
|
89
|
-
dt = date(self._year, APR, 27 if self._year >= 2014 else 30)
|
|
90
|
-
if self._is_sunday(dt):
|
|
91
|
-
dt = _timedelta(dt, -1 if self._year >= 1980 else +1)
|
|
92
|
-
self._add_holiday(name, dt)
|
|
93
|
-
|
|
94
|
-
# Dia di Obrero.
|
|
95
|
-
# Status: In-Use.
|
|
96
|
-
# If fall on Sunday, then this will be move to next working day.
|
|
97
|
-
|
|
98
|
-
dt = date(self._year, MAY, 1)
|
|
99
|
-
if self._is_sunday(dt) or (self._is_monday(dt) and self._year <= 1979):
|
|
100
|
-
dt = _timedelta(dt, +1)
|
|
101
|
-
# Labor Day
|
|
102
|
-
self._add_holiday(tr("Dia di Obrero"), dt)
|
|
103
106
|
|
|
104
107
|
# Dia di Asenshon.
|
|
105
108
|
# Status: In-Use.
|
|
106
109
|
|
|
107
|
-
# Ascension Day
|
|
110
|
+
# Ascension Day.
|
|
108
111
|
self._add_ascension_thursday(tr("Dia di Asenshon"))
|
|
109
112
|
|
|
113
|
+
# Domingo di Pentekòstès.
|
|
114
|
+
# Status: Removed
|
|
115
|
+
# Exists in Labor Regulation 2000.
|
|
116
|
+
# Presumed to be removed from 2010 onwards.
|
|
117
|
+
|
|
118
|
+
if self._year <= 2009:
|
|
119
|
+
# Whit Sunday.
|
|
120
|
+
self._add_whit_sunday(tr("Domingo di Pentekòstès"))
|
|
121
|
+
|
|
110
122
|
# Dia di Himno i Bandera.
|
|
111
123
|
# Status: In-Use.
|
|
112
124
|
# Starts in 1984.
|
|
113
125
|
|
|
114
126
|
if self._year >= 1984:
|
|
115
|
-
# National Anthem and Flag Day
|
|
127
|
+
# National Anthem and Flag Day.
|
|
116
128
|
self._add_holiday_jul_2(tr("Dia di Himno i Bandera"))
|
|
117
129
|
|
|
118
130
|
# Dia di Pais Kòrsou / Dia di autonomia.
|
|
@@ -120,24 +132,38 @@ class Curacao(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
120
132
|
# Starts in 2010.
|
|
121
133
|
|
|
122
134
|
if self._year >= 2010:
|
|
123
|
-
# Curaçao Day
|
|
135
|
+
# Curaçao Day.
|
|
124
136
|
self._add_holiday_oct_10(tr("Dia di Pais Kòrsou"))
|
|
125
137
|
|
|
138
|
+
# Kingdom Day.
|
|
139
|
+
# Status: Removed.
|
|
140
|
+
# Added on June 3rd, 2008 via P.B. 2008 no. 50.
|
|
141
|
+
# Presumed to have been removed in 2010 after Curacao gain its Autonomy.
|
|
142
|
+
|
|
143
|
+
if 2008 <= self._year <= 2009:
|
|
144
|
+
# Kingdom Day.
|
|
145
|
+
self._add_holiday_dec_15(tr("Dia di Reino"))
|
|
146
|
+
|
|
126
147
|
# Pasku di Nasementu.
|
|
127
148
|
# Status: In-Use.
|
|
128
149
|
|
|
129
|
-
# Christmas Day
|
|
150
|
+
# Christmas Day.
|
|
130
151
|
self._add_christmas_day(tr("Pasku di Nasementu"))
|
|
131
152
|
|
|
132
153
|
# Di dos dia di Pasku di Nasementu.
|
|
133
154
|
# Status: In-Use.
|
|
134
155
|
|
|
135
|
-
# Second Day of Christmas
|
|
156
|
+
# Second Day of Christmas.
|
|
136
157
|
self._add_christmas_day_two(tr("Di dos dia di Pasku di Nasementu"))
|
|
137
158
|
|
|
138
159
|
def _populate_half_day_holidays(self):
|
|
139
160
|
# New Year's Eve.
|
|
140
|
-
|
|
161
|
+
# Status: In-Use.
|
|
162
|
+
# Presumed to have been added after 2010.
|
|
163
|
+
|
|
164
|
+
if self._year >= 2010:
|
|
165
|
+
# New Year's Eve.
|
|
166
|
+
self._add_new_years_eve(tr("Vispu di Aña Nobo"))
|
|
141
167
|
|
|
142
168
|
|
|
143
169
|
class CW(Curacao):
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.calendars.gregorian import SUN
|
|
16
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
17
|
+
from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_PREV_SAT
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class DRCongo(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
21
|
+
"""Democratic Republic of the Congo holidays.
|
|
22
|
+
|
|
23
|
+
References:
|
|
24
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_the_Democratic_Republic_of_the_Congo>
|
|
25
|
+
* [Ordonnance n° 79-154](https://web.archive.org/web/20220329181351/http://www.leganet.cd/Legislation/DroitSocial/O.79.154.23.06.1979.htm)
|
|
26
|
+
* [Ordonnance n° 14/010](https://web.archive.org/web/20230419184344/http://leganet.cd/Legislation/Divers/Ordonnance.14.10.14.mai.2014.htm)
|
|
27
|
+
* [Ordonnance n° 23-042](https://web.archive.org/web/20250113230411/http://www.droitcongolais.info/files/143.03.23_Ordonnance-du-30-mars-2023_jours-feries.pdf)
|
|
28
|
+
* [Loi n° 009-2002](https://web.archive.org/web/20250104233847/https://www.leganet.cd/Legislation/Droit%20administratif/Urbanismevoiries/Div/L.009.05.08.2002.htm)
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
country = "CD"
|
|
32
|
+
default_language = "fr"
|
|
33
|
+
# %s (observed).
|
|
34
|
+
observed_label = tr("%s (observé)")
|
|
35
|
+
supported_languages = ("en_US", "fr")
|
|
36
|
+
# Ordonnance n° 79-154.
|
|
37
|
+
start_year = 1980
|
|
38
|
+
weekend = {SUN}
|
|
39
|
+
|
|
40
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
41
|
+
ChristianHolidays.__init__(self)
|
|
42
|
+
InternationalHolidays.__init__(self)
|
|
43
|
+
kwargs.setdefault("observed_rule", SUN_TO_PREV_SAT)
|
|
44
|
+
super().__init__(*args, **kwargs)
|
|
45
|
+
|
|
46
|
+
def _populate_public_holidays(self):
|
|
47
|
+
# New Year's Day.
|
|
48
|
+
name = tr("Nouvel an")
|
|
49
|
+
self._add_new_years_day(name)
|
|
50
|
+
self._add_observed(self._next_year_new_years_day, name=name)
|
|
51
|
+
|
|
52
|
+
# Established on May 10th, 2014 via Ordonnance n° 14/010.
|
|
53
|
+
if self._year >= 2015:
|
|
54
|
+
# Martyrs' Day.
|
|
55
|
+
self._add_observed(self._add_holiday_jan_4(tr("Martyrs de l'indépendance")))
|
|
56
|
+
|
|
57
|
+
self._add_observed(
|
|
58
|
+
# National Hero Laurent Désiré Kabila Day.
|
|
59
|
+
self._add_holiday_jan_16(tr("Journée du héros national Laurent Désiré Kabila"))
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
self._add_observed(
|
|
63
|
+
# National Hero Patrice Emery Lumumba Day.
|
|
64
|
+
self._add_holiday_jan_17(tr("Journée du héros national Patrice Emery Lumumba"))
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
# Established on March 30th, 2023 via Ordonnance n° 23-042.
|
|
68
|
+
if self._year >= 2023:
|
|
69
|
+
self._add_observed(
|
|
70
|
+
self._add_holiday_apr_6(
|
|
71
|
+
# Day of the Struggle of Simon Kimbangu and African Consciousness.
|
|
72
|
+
tr("Journée du combat de Simon Kimbangu et de la conscience africaine")
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
# Labor Day.
|
|
77
|
+
self._add_observed(self._add_labor_day(tr("Fête du travail")))
|
|
78
|
+
|
|
79
|
+
# Renamed on May 10th, 2014 via Ordonnance n° 14/010.
|
|
80
|
+
if self._year >= 2014:
|
|
81
|
+
self._add_observed(
|
|
82
|
+
# Revolution and Armed Forces Day.
|
|
83
|
+
self._add_holiday_may_17(tr("Journée de la Révolution et des Forces Armées"))
|
|
84
|
+
)
|
|
85
|
+
else:
|
|
86
|
+
# Armed Forces Day.
|
|
87
|
+
self._add_observed(self._add_holiday_nov_17(tr("Fête des Forces armées zaïroises")))
|
|
88
|
+
|
|
89
|
+
# Removed on May 10th, 2014 via Ordonnance n° 14/010.
|
|
90
|
+
if self._year <= 2013:
|
|
91
|
+
self._add_observed(
|
|
92
|
+
self._add_holiday_may_20(
|
|
93
|
+
# Anniversary of the Popular Movement of the Revolution.
|
|
94
|
+
tr("Anniversaire du Mouvement populaire de la révolution")
|
|
95
|
+
)
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
self._add_observed(
|
|
99
|
+
self._add_holiday_jun_24(
|
|
100
|
+
# Anniversary of the New Revolutionary Constitution.
|
|
101
|
+
tr("Anniversaire de la nouvelle Constitution révolutionnaire")
|
|
102
|
+
)
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
# Independence Day.
|
|
106
|
+
self._add_observed(self._add_holiday_jun_30(tr("Journée de l'indépendance")))
|
|
107
|
+
|
|
108
|
+
# Parents' Day.
|
|
109
|
+
self._add_observed(self._add_holiday_aug_1(tr("Fête des parents")))
|
|
110
|
+
|
|
111
|
+
if self._year >= 2024:
|
|
112
|
+
self._add_observed(
|
|
113
|
+
# Congolese Genocide Memorial Day.
|
|
114
|
+
self._add_holiday_aug_2(tr("Journée commémorative du génocide Congolais"))
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
# Removed on May 10th, 2014 via Ordonnance n° 14/010.
|
|
118
|
+
if self._year <= 2013:
|
|
119
|
+
# Youth Day.
|
|
120
|
+
self._add_observed(self._add_holiday_oct_14(tr("Journée de la Jeunesse")))
|
|
121
|
+
|
|
122
|
+
self._add_observed(
|
|
123
|
+
# Anniversary of the Country's Name Change.
|
|
124
|
+
self._add_holiday_oct_27(tr("Anniversaire du changement du nom de notre Pays"))
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
# Anniversary of the New Regime.
|
|
128
|
+
self._add_observed(self._add_holiday_nov_24(tr("Anniversaire du nouveau régime")))
|
|
129
|
+
|
|
130
|
+
# Christmas Day.
|
|
131
|
+
self._add_observed(self._add_christmas_day(tr("Noël")))
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
class CD(DRCongo):
|
|
135
|
+
pass
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class COD(DRCongo):
|
|
139
|
+
pass
|
holidays/countries/egypt.py
CHANGED
|
@@ -24,7 +24,7 @@ class Egypt(HolidayBase, ChristianHolidays, IslamicHolidays, InternationalHolida
|
|
|
24
24
|
country = "EG"
|
|
25
25
|
default_language = "ar"
|
|
26
26
|
# %s (estimated).
|
|
27
|
-
estimated_label = tr("(
|
|
27
|
+
estimated_label = tr("%s (المقدرة)")
|
|
28
28
|
supported_languages = ("ar", "en_US")
|
|
29
29
|
weekend = {FRI, SAT}
|
|
30
30
|
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.calendars.gregorian import MAY, SEP
|
|
16
|
+
from holidays.constants import GOVERNMENT, PUBLIC, WORKDAY
|
|
17
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
18
|
+
from holidays.observed_holiday_base import (
|
|
19
|
+
ObservedHolidayBase,
|
|
20
|
+
SAT_TO_NEXT_MON,
|
|
21
|
+
SAT_TO_NEXT_TUE,
|
|
22
|
+
SUN_TO_NEXT_TUE,
|
|
23
|
+
SUN_TO_NEXT_WED,
|
|
24
|
+
SAT_SUN_TO_NEXT_MON,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class FalklandIslands(
|
|
29
|
+
ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
30
|
+
):
|
|
31
|
+
"""Falkland Islands holidays.
|
|
32
|
+
|
|
33
|
+
References:
|
|
34
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_the_Falkland_Islands>
|
|
35
|
+
* [January 31st, 2023 Amendment](https://web.archive.org/web/20250704040815/https://www.falklands.gov.fk/legalservices/statute-law-commissioner/gazettes-supplements/2023/supplements-2023?task=download.send&id=140)
|
|
36
|
+
* <https://web.archive.org/web/20241201174202/https://www.timeanddate.com/holidays/falkland-islands/2025>
|
|
37
|
+
* [Falkland Day](https://web.archive.org/web/20250325025508/https://www.daysoftheyear.com/days/falklands-day/)
|
|
38
|
+
* [Peat Cutting Day](https://en.wikipedia.org/wiki/Peat_Cutting_Monday)
|
|
39
|
+
* [HM The King's Birthday](https://web.archive.org/web/20230329063159/https://en.mercopress.com/2022/11/03/falklands-appoints-14-november-as-a-public-holiday-to-celebrate-birthday-of-king-charles-iii)
|
|
40
|
+
* [Governor's Office Stanley](https://web.archive.org/web/20250704040807/https://www.gov.uk/world/organisations/governors-office-stanley/office/governors-office-stanley)
|
|
41
|
+
* [2020-2023](https://web.archive.org/web/20220805134148/http://www.falklands.gov.fk/policy/jdownloads/Reports%20&%20Publications/Public%20Health,%20Social%20and%20Community%20Publications/Falkland%20Islands%20Public%20Holidays%202020-2023.pdf)
|
|
42
|
+
* [2023-2026](https://web.archive.org/web/20250402143330/https://www.falklands.gov.fk/policy/downloads?task=download.send&id=186:falkland-islands-public-holidays-2023-2026&catid=12)
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
country = "FK"
|
|
46
|
+
default_language = "en_GB"
|
|
47
|
+
# %s observed.
|
|
48
|
+
observed_label = tr("%s (observed)")
|
|
49
|
+
# Falkland War's Conclusion.
|
|
50
|
+
start_year = 1983
|
|
51
|
+
supported_categories = (GOVERNMENT, PUBLIC, WORKDAY)
|
|
52
|
+
supported_languages = ("en_GB", "en_US")
|
|
53
|
+
|
|
54
|
+
def __init__(self, *args, **kwargs):
|
|
55
|
+
ChristianHolidays.__init__(self)
|
|
56
|
+
InternationalHolidays.__init__(self)
|
|
57
|
+
StaticHolidays.__init__(self, cls=FalklandIslandsStaticHolidays)
|
|
58
|
+
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
|
|
59
|
+
super().__init__(*args, **kwargs)
|
|
60
|
+
|
|
61
|
+
def _populate_public_holidays(self):
|
|
62
|
+
# New Year's Day.
|
|
63
|
+
self._add_observed(self._add_new_years_day(tr("New Year's Day")))
|
|
64
|
+
|
|
65
|
+
# Good Friday.
|
|
66
|
+
self._add_good_friday(tr("Good Friday"))
|
|
67
|
+
|
|
68
|
+
if self._year <= 2022:
|
|
69
|
+
# Queen's Birthday.
|
|
70
|
+
self._add_observed(self._add_holiday_apr_21(tr("HM The Queen's Birthday")))
|
|
71
|
+
|
|
72
|
+
# Liberation Day.
|
|
73
|
+
self._add_observed(self._add_holiday_jun_14(tr("Liberation Day")))
|
|
74
|
+
|
|
75
|
+
if self._year <= 2001:
|
|
76
|
+
# Falkland Day.
|
|
77
|
+
self._add_observed(self._add_holiday_aug_14(tr("Falkland Day")))
|
|
78
|
+
else:
|
|
79
|
+
# Peat Cutting Day.
|
|
80
|
+
self._add_holiday_1st_mon_of_oct(tr("Peat Cutting Day"))
|
|
81
|
+
|
|
82
|
+
if self._year >= 2022:
|
|
83
|
+
# King's Birthday.
|
|
84
|
+
self._add_observed(self._add_holiday_nov_14(tr("HM The King's Birthday")))
|
|
85
|
+
|
|
86
|
+
self._add_observed(
|
|
87
|
+
# Christmas Day.
|
|
88
|
+
self._add_christmas_day(tr("Christmas Day")),
|
|
89
|
+
rule=SAT_TO_NEXT_TUE + SUN_TO_NEXT_WED,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
self._add_observed(
|
|
93
|
+
# Boxing Day.
|
|
94
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
95
|
+
rule=SAT_TO_NEXT_MON + SUN_TO_NEXT_WED,
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
self._add_observed(
|
|
99
|
+
# Christmas Holiday.
|
|
100
|
+
self._add_christmas_day_three(tr("Christmas Holiday")),
|
|
101
|
+
rule=SAT_TO_NEXT_MON + SUN_TO_NEXT_TUE,
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
def _populate_government_holidays(self):
|
|
105
|
+
# Government Holiday.
|
|
106
|
+
name = tr("Government Holiday")
|
|
107
|
+
last_workday = self._add_holiday(
|
|
108
|
+
name, self._get_next_workday(self._next_year_new_years_day, -1)
|
|
109
|
+
)
|
|
110
|
+
self._add_holiday(name, self._get_next_workday(last_workday, -1))
|
|
111
|
+
|
|
112
|
+
def _populate_workday_holidays(self):
|
|
113
|
+
# Margaret Thatcher Day.
|
|
114
|
+
self._add_holiday_jan_10(tr("Margaret Thatcher Day"))
|
|
115
|
+
|
|
116
|
+
if self._year >= 2002:
|
|
117
|
+
# Falkland Day.
|
|
118
|
+
self._add_holiday_aug_14(tr("Falkland Day"))
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class FK(FalklandIslands):
|
|
122
|
+
pass
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class FLK(FalklandIslands):
|
|
126
|
+
pass
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class FalklandIslandsStaticHolidays:
|
|
130
|
+
"""Falkland Islands special holidays.
|
|
131
|
+
|
|
132
|
+
References:
|
|
133
|
+
* <https://web.archive.org/web/20231004165250/https://en.mercopress.com/2022/09/14/falklands-public-holiday-and-national-two-minute-s-silence-for-queen-elizabeth-ii>
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
special_public_holidays = {
|
|
137
|
+
# Queen Elizabeth II's Funeral.
|
|
138
|
+
2022: (SEP, 19, tr("Queen Elizabeth II's Funeral")),
|
|
139
|
+
# King Charles III's Coronation.
|
|
140
|
+
2023: (MAY, 8, tr("HM The King's Coronation")),
|
|
141
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.constants import HALF_DAY, PUBLIC
|
|
16
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
17
|
+
from holidays.holiday_base import HolidayBase
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class FaroeIslands(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
21
|
+
"""Faroe Islands holidays.
|
|
22
|
+
|
|
23
|
+
References:
|
|
24
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_the_Faroe_Islands>
|
|
25
|
+
* [Decree no. 52 of 23 April 2003](https://web.archive.org/web/20241204233745/https://logir.fo/Kunngerd/52-fra-23-04-2003-um-flagging-fra-landsins-bygningum)
|
|
26
|
+
* [2007](https://web.archive.org/web/20250125193236/https://www.framtak.com/info/holidays.html))
|
|
27
|
+
* [2024](https://web.archive.org/web/20250615193008/https://visitfaroeislands.com/en/plan-your-stay/get-ready-for-your-trip/general-facts/public-holidays)
|
|
28
|
+
* [2025](https://web.archive.org/web/20250615193215/https://guidetofaroeislands.fo/travel-information/faroe-islands-holiday/)
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
country = "FO"
|
|
32
|
+
default_language = "fo"
|
|
33
|
+
# Denmark granted home rule to the Faroe Islands on 30 March 1948.
|
|
34
|
+
start_year = 1949
|
|
35
|
+
supported_categories = (HALF_DAY, PUBLIC)
|
|
36
|
+
supported_languages = ("da", "en_US", "fo", "is", "no", "sv")
|
|
37
|
+
|
|
38
|
+
def __init__(self, *args, **kwargs):
|
|
39
|
+
ChristianHolidays.__init__(self)
|
|
40
|
+
InternationalHolidays.__init__(self)
|
|
41
|
+
super().__init__(*args, **kwargs)
|
|
42
|
+
|
|
43
|
+
def _populate_public_holidays(self):
|
|
44
|
+
# New Year's Day.
|
|
45
|
+
self._add_new_years_day(tr("Nýggjársdagur"))
|
|
46
|
+
|
|
47
|
+
# Maundy Thursday.
|
|
48
|
+
self._add_holy_thursday(tr("Skírhósdagur"))
|
|
49
|
+
|
|
50
|
+
# Good Friday.
|
|
51
|
+
self._add_good_friday(tr("Langifríggjadagur"))
|
|
52
|
+
|
|
53
|
+
# Easter Sunday.
|
|
54
|
+
self._add_easter_sunday(tr("Páskadagur"))
|
|
55
|
+
|
|
56
|
+
# Easter Monday.
|
|
57
|
+
self._add_easter_monday(tr("Annar páskadagur"))
|
|
58
|
+
|
|
59
|
+
# Great Prayer Day.
|
|
60
|
+
self._add_holiday_26_days_past_easter(tr("Dýri biðidagur"))
|
|
61
|
+
|
|
62
|
+
# Ascension Day.
|
|
63
|
+
self._add_ascension_thursday(tr("Kristi himmalsferðardagur"))
|
|
64
|
+
|
|
65
|
+
# Whit Sunday.
|
|
66
|
+
self._add_whit_sunday(tr("Hvítusunnudagur"))
|
|
67
|
+
|
|
68
|
+
# Whit Monday.
|
|
69
|
+
self._add_whit_monday(tr("Annar hvítusunnudagur"))
|
|
70
|
+
|
|
71
|
+
# Saint Olaf's Day.
|
|
72
|
+
self._add_holiday_jul_29(tr("Ólavsøkudagur"))
|
|
73
|
+
|
|
74
|
+
# Christmas Eve.
|
|
75
|
+
self._add_christmas_eve(tr("Jólaaftan"))
|
|
76
|
+
|
|
77
|
+
# Christmas Day.
|
|
78
|
+
self._add_christmas_day(tr("Jóladagur"))
|
|
79
|
+
|
|
80
|
+
# Second Day of Christmas.
|
|
81
|
+
self._add_christmas_day_two(tr("Annar jóladagur"))
|
|
82
|
+
|
|
83
|
+
# New Year's Eve.
|
|
84
|
+
self._add_new_years_eve(tr("Nýggjársaftan"))
|
|
85
|
+
|
|
86
|
+
def _populate_half_day_holidays(self):
|
|
87
|
+
# National Flag Day.
|
|
88
|
+
self._add_holiday_apr_25(tr("Flaggdagur"))
|
|
89
|
+
|
|
90
|
+
# Constitution Day.
|
|
91
|
+
self._add_holiday_jun_5(tr("Grundlógardagur"))
|
|
92
|
+
|
|
93
|
+
# Saint Olaf's Eve.
|
|
94
|
+
self._add_holiday_jul_28(tr("Ólavsøkuaftan"))
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class FO(FaroeIslands):
|
|
98
|
+
pass
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class FRO(FaroeIslands):
|
|
102
|
+
pass
|