holidays 0.65__py3-none-any.whl → 0.67__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.
Files changed (463) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/persian.py +6 -0
  3. holidays/calendars/sinhala.py +414 -0
  4. holidays/countries/__init__.py +3 -0
  5. holidays/countries/australia.py +6 -6
  6. holidays/countries/cambodia.py +1 -1
  7. holidays/countries/chile.py +1 -1
  8. holidays/countries/cuba.py +1 -1
  9. holidays/countries/czechia.py +39 -30
  10. holidays/countries/denmark.py +1 -1
  11. holidays/countries/finland.py +19 -19
  12. holidays/countries/germany.py +11 -22
  13. holidays/countries/greenland.py +22 -19
  14. holidays/countries/guatemala.py +1 -1
  15. holidays/countries/haiti.py +3 -3
  16. holidays/countries/hongkong.py +124 -174
  17. holidays/countries/iceland.py +16 -8
  18. holidays/countries/iran.py +522 -43
  19. holidays/countries/isle_of_man.py +15 -11
  20. holidays/countries/israel.py +1 -1
  21. holidays/countries/kazakhstan.py +1 -1
  22. holidays/countries/laos.py +2 -2
  23. holidays/countries/netherlands.py +1 -1
  24. holidays/countries/nicaragua.py +1 -1
  25. holidays/countries/panama.py +69 -31
  26. holidays/countries/peru.py +1 -1
  27. holidays/countries/saint_lucia.py +88 -0
  28. holidays/countries/seychelles.py +4 -4
  29. holidays/countries/singapore.py +1 -1
  30. holidays/countries/slovakia.py +14 -7
  31. holidays/countries/slovenia.py +63 -19
  32. holidays/countries/spain.py +9 -9
  33. holidays/countries/sri_lanka.py +515 -0
  34. holidays/countries/sweden.py +6 -9
  35. holidays/countries/switzerland.py +1 -1
  36. holidays/countries/thailand.py +1 -1
  37. holidays/countries/tuvalu.py +174 -0
  38. holidays/countries/ukraine.py +1 -1
  39. holidays/countries/united_arab_emirates.py +95 -11
  40. holidays/countries/united_kingdom.py +72 -56
  41. holidays/countries/united_states.py +141 -10
  42. holidays/countries/uruguay.py +1 -1
  43. holidays/countries/vatican_city.py +134 -53
  44. holidays/financial/brasil_bolsa_balcao.py +1 -1
  45. holidays/groups/__init__.py +1 -0
  46. holidays/groups/christian.py +10 -0
  47. holidays/groups/persian.py +12 -0
  48. holidays/groups/sinhala.py +192 -0
  49. holidays/holiday_base.py +62 -13
  50. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  51. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  52. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  53. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  54. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  55. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  56. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  57. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  58. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  59. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  60. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  61. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  62. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  63. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  64. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  65. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  66. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  67. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  68. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  69. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  70. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  71. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  72. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  73. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  74. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  75. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  76. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  77. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  78. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  79. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  80. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  81. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  82. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  83. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  84. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  85. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  86. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  87. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  88. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  89. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  90. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  91. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  92. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  93. holidays/locale/{fa → fa_IR}/LC_MESSAGES/IR.mo +0 -0
  94. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  95. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  96. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  97. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  98. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  99. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  100. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  101. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  102. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  103. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  104. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  105. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  106. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  107. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  108. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  109. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  110. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  111. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  112. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  113. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  114. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  115. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  116. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  117. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  118. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  119. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  120. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  121. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  122. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  123. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  124. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  125. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  126. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  127. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  128. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  129. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  130. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  131. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  132. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  133. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  134. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  135. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  136. holidays/registry.py +3 -0
  137. holidays/version.py +1 -1
  138. {holidays-0.65.dist-info → holidays-0.67.dist-info}/AUTHORS +1 -0
  139. {holidays-0.65.dist-info → holidays-0.67.dist-info}/METADATA +46 -25
  140. holidays-0.67.dist-info/RECORD +560 -0
  141. holidays/locale/am/LC_MESSAGES/ET.po +0 -92
  142. holidays/locale/ar/LC_MESSAGES/AE.po +0 -76
  143. holidays/locale/ar/LC_MESSAGES/BH.po +0 -76
  144. holidays/locale/ar/LC_MESSAGES/CA.po +0 -161
  145. holidays/locale/ar/LC_MESSAGES/DJ.po +0 -85
  146. holidays/locale/ar/LC_MESSAGES/DZ.po +0 -80
  147. holidays/locale/ar/LC_MESSAGES/EG.po +0 -104
  148. holidays/locale/ar/LC_MESSAGES/ET.po +0 -93
  149. holidays/locale/ar/LC_MESSAGES/JO.po +0 -79
  150. holidays/locale/ar/LC_MESSAGES/KW.po +0 -75
  151. holidays/locale/ar/LC_MESSAGES/MA.po +0 -88
  152. holidays/locale/ar/LC_MESSAGES/SA.po +0 -67
  153. holidays/locale/ar/LC_MESSAGES/TN.po +0 -92
  154. holidays/locale/ar/LC_MESSAGES/UA.po +0 -113
  155. holidays/locale/az/LC_MESSAGES/AZ.po +0 -136
  156. holidays/locale/be/LC_MESSAGES/BY.po +0 -109
  157. holidays/locale/bg/LC_MESSAGES/BG.po +0 -87
  158. holidays/locale/bs/LC_MESSAGES/BA.po +0 -113
  159. holidays/locale/cnr/LC_MESSAGES/ME.po +0 -102
  160. holidays/locale/cs/LC_MESSAGES/CZ.po +0 -88
  161. holidays/locale/da/LC_MESSAGES/DK.po +0 -87
  162. holidays/locale/da/LC_MESSAGES/GL.po +0 -91
  163. holidays/locale/de/LC_MESSAGES/AT.po +0 -115
  164. holidays/locale/de/LC_MESSAGES/BE.po +0 -88
  165. holidays/locale/de/LC_MESSAGES/CH.po +0 -123
  166. holidays/locale/de/LC_MESSAGES/DE.po +0 -121
  167. holidays/locale/de/LC_MESSAGES/LI.po +0 -115
  168. holidays/locale/de/LC_MESSAGES/LU.po +0 -72
  169. holidays/locale/el/LC_MESSAGES/CY.po +0 -99
  170. holidays/locale/el/LC_MESSAGES/GR.po +0 -89
  171. holidays/locale/en_AU/LC_MESSAGES/AU.po +0 -177
  172. holidays/locale/en_CA/LC_MESSAGES/CA.po +0 -161
  173. holidays/locale/en_CY/LC_MESSAGES/CY.po +0 -100
  174. holidays/locale/en_PH/LC_MESSAGES/PH.po +0 -128
  175. holidays/locale/en_SC/LC_MESSAGES/SC.po +0 -117
  176. holidays/locale/en_SG/LC_MESSAGES/SG.po +0 -98
  177. holidays/locale/en_US/LC_MESSAGES/AE.po +0 -77
  178. holidays/locale/en_US/LC_MESSAGES/AF.po +0 -92
  179. holidays/locale/en_US/LC_MESSAGES/AL.po +0 -106
  180. holidays/locale/en_US/LC_MESSAGES/AM.po +0 -88
  181. holidays/locale/en_US/LC_MESSAGES/AO.po +0 -117
  182. holidays/locale/en_US/LC_MESSAGES/AR.po +0 -139
  183. holidays/locale/en_US/LC_MESSAGES/AT.po +0 -116
  184. holidays/locale/en_US/LC_MESSAGES/AU.po +0 -177
  185. holidays/locale/en_US/LC_MESSAGES/AW.po +0 -84
  186. holidays/locale/en_US/LC_MESSAGES/AZ.po +0 -136
  187. holidays/locale/en_US/LC_MESSAGES/BA.po +0 -113
  188. holidays/locale/en_US/LC_MESSAGES/BE.po +0 -88
  189. holidays/locale/en_US/LC_MESSAGES/BG.po +0 -87
  190. holidays/locale/en_US/LC_MESSAGES/BH.po +0 -77
  191. holidays/locale/en_US/LC_MESSAGES/BN.po +0 -109
  192. holidays/locale/en_US/LC_MESSAGES/BO.po +0 -117
  193. holidays/locale/en_US/LC_MESSAGES/BR.po +0 -263
  194. holidays/locale/en_US/LC_MESSAGES/BVMF.po +0 -79
  195. holidays/locale/en_US/LC_MESSAGES/BY.po +0 -114
  196. holidays/locale/en_US/LC_MESSAGES/CA.po +0 -161
  197. holidays/locale/en_US/LC_MESSAGES/CG.po +0 -67
  198. holidays/locale/en_US/LC_MESSAGES/CH.po +0 -124
  199. holidays/locale/en_US/LC_MESSAGES/CL.po +0 -136
  200. holidays/locale/en_US/LC_MESSAGES/CN.po +0 -102
  201. holidays/locale/en_US/LC_MESSAGES/CO.po +0 -105
  202. holidays/locale/en_US/LC_MESSAGES/CR.po +0 -85
  203. holidays/locale/en_US/LC_MESSAGES/CU.po +0 -69
  204. holidays/locale/en_US/LC_MESSAGES/CW.po +0 -84
  205. holidays/locale/en_US/LC_MESSAGES/CY.po +0 -100
  206. holidays/locale/en_US/LC_MESSAGES/CZ.po +0 -88
  207. holidays/locale/en_US/LC_MESSAGES/DE.po +0 -126
  208. holidays/locale/en_US/LC_MESSAGES/DJ.po +0 -84
  209. holidays/locale/en_US/LC_MESSAGES/DK.po +0 -88
  210. holidays/locale/en_US/LC_MESSAGES/DO.po +0 -76
  211. holidays/locale/en_US/LC_MESSAGES/DZ.po +0 -81
  212. holidays/locale/en_US/LC_MESSAGES/EC.po +0 -73
  213. holidays/locale/en_US/LC_MESSAGES/EE.po +0 -76
  214. holidays/locale/en_US/LC_MESSAGES/EG.po +0 -105
  215. holidays/locale/en_US/LC_MESSAGES/ES.po +0 -225
  216. holidays/locale/en_US/LC_MESSAGES/ET.po +0 -93
  217. holidays/locale/en_US/LC_MESSAGES/FI.po +0 -164
  218. holidays/locale/en_US/LC_MESSAGES/FR.po +0 -116
  219. holidays/locale/en_US/LC_MESSAGES/GE.po +0 -96
  220. holidays/locale/en_US/LC_MESSAGES/GL.po +0 -92
  221. holidays/locale/en_US/LC_MESSAGES/GR.po +0 -89
  222. holidays/locale/en_US/LC_MESSAGES/GT.po +0 -72
  223. holidays/locale/en_US/LC_MESSAGES/HN.po +0 -76
  224. holidays/locale/en_US/LC_MESSAGES/HR.po +0 -94
  225. holidays/locale/en_US/LC_MESSAGES/HT.po +0 -127
  226. holidays/locale/en_US/LC_MESSAGES/HU.po +0 -101
  227. holidays/locale/en_US/LC_MESSAGES/ID.po +0 -195
  228. holidays/locale/en_US/LC_MESSAGES/IL.po +0 -105
  229. holidays/locale/en_US/LC_MESSAGES/IR.po +0 -125
  230. holidays/locale/en_US/LC_MESSAGES/IS.po +0 -92
  231. holidays/locale/en_US/LC_MESSAGES/JO.po +0 -80
  232. holidays/locale/en_US/LC_MESSAGES/JP.po +0 -128
  233. holidays/locale/en_US/LC_MESSAGES/KH.po +0 -132
  234. holidays/locale/en_US/LC_MESSAGES/KR.po +0 -219
  235. holidays/locale/en_US/LC_MESSAGES/KW.po +0 -76
  236. holidays/locale/en_US/LC_MESSAGES/KZ.po +0 -103
  237. holidays/locale/en_US/LC_MESSAGES/LA.po +0 -160
  238. holidays/locale/en_US/LC_MESSAGES/LI.po +0 -116
  239. holidays/locale/en_US/LC_MESSAGES/LT.po +0 -94
  240. holidays/locale/en_US/LC_MESSAGES/LU.po +0 -72
  241. holidays/locale/en_US/LC_MESSAGES/LV.po +0 -106
  242. holidays/locale/en_US/LC_MESSAGES/MA.po +0 -89
  243. holidays/locale/en_US/LC_MESSAGES/MC.po +0 -85
  244. holidays/locale/en_US/LC_MESSAGES/MD.po +0 -84
  245. holidays/locale/en_US/LC_MESSAGES/ME.po +0 -102
  246. holidays/locale/en_US/LC_MESSAGES/MG.po +0 -92
  247. holidays/locale/en_US/LC_MESSAGES/MT.po +0 -83
  248. holidays/locale/en_US/LC_MESSAGES/MX.po +0 -60
  249. holidays/locale/en_US/LC_MESSAGES/MY.po +0 -250
  250. holidays/locale/en_US/LC_MESSAGES/MZ.po +0 -69
  251. holidays/locale/en_US/LC_MESSAGES/NI.po +0 -76
  252. holidays/locale/en_US/LC_MESSAGES/NL.po +0 -76
  253. holidays/locale/en_US/LC_MESSAGES/NO.po +0 -80
  254. holidays/locale/en_US/LC_MESSAGES/PE.po +0 -88
  255. holidays/locale/en_US/LC_MESSAGES/PH.po +0 -128
  256. holidays/locale/en_US/LC_MESSAGES/PL.po +0 -115
  257. holidays/locale/en_US/LC_MESSAGES/PT.po +0 -184
  258. holidays/locale/en_US/LC_MESSAGES/PY.po +0 -88
  259. holidays/locale/en_US/LC_MESSAGES/RO.po +0 -76
  260. holidays/locale/en_US/LC_MESSAGES/RS.po +0 -69
  261. holidays/locale/en_US/LC_MESSAGES/RU.po +0 -93
  262. holidays/locale/en_US/LC_MESSAGES/SA.po +0 -67
  263. holidays/locale/en_US/LC_MESSAGES/SC.po +0 -117
  264. holidays/locale/en_US/LC_MESSAGES/SE.po +0 -104
  265. holidays/locale/en_US/LC_MESSAGES/SG.po +0 -98
  266. holidays/locale/en_US/LC_MESSAGES/SI.po +0 -76
  267. holidays/locale/en_US/LC_MESSAGES/SK.po +0 -97
  268. holidays/locale/en_US/LC_MESSAGES/SV.po +0 -75
  269. holidays/locale/en_US/LC_MESSAGES/TH.po +0 -354
  270. holidays/locale/en_US/LC_MESSAGES/TL.po +0 -169
  271. holidays/locale/en_US/LC_MESSAGES/TN.po +0 -93
  272. holidays/locale/en_US/LC_MESSAGES/TO.po +0 -91
  273. holidays/locale/en_US/LC_MESSAGES/TR.po +0 -89
  274. holidays/locale/en_US/LC_MESSAGES/TW.po +0 -78
  275. holidays/locale/en_US/LC_MESSAGES/TZ.po +0 -119
  276. holidays/locale/en_US/LC_MESSAGES/UA.po +0 -113
  277. holidays/locale/en_US/LC_MESSAGES/UY.po +0 -120
  278. holidays/locale/en_US/LC_MESSAGES/UZ.po +0 -96
  279. holidays/locale/en_US/LC_MESSAGES/VE.po +0 -92
  280. holidays/locale/en_US/LC_MESSAGES/VN.po +0 -93
  281. holidays/locale/es/LC_MESSAGES/AR.po +0 -135
  282. holidays/locale/es/LC_MESSAGES/BO.po +0 -117
  283. holidays/locale/es/LC_MESSAGES/CL.po +0 -136
  284. holidays/locale/es/LC_MESSAGES/CO.po +0 -105
  285. holidays/locale/es/LC_MESSAGES/CR.po +0 -85
  286. holidays/locale/es/LC_MESSAGES/CU.po +0 -69
  287. holidays/locale/es/LC_MESSAGES/DO.po +0 -76
  288. holidays/locale/es/LC_MESSAGES/EC.po +0 -73
  289. holidays/locale/es/LC_MESSAGES/ES.po +0 -225
  290. holidays/locale/es/LC_MESSAGES/GT.po +0 -72
  291. holidays/locale/es/LC_MESSAGES/HN.po +0 -76
  292. holidays/locale/es/LC_MESSAGES/HT.po +0 -127
  293. holidays/locale/es/LC_MESSAGES/MX.po +0 -60
  294. holidays/locale/es/LC_MESSAGES/NI.po +0 -76
  295. holidays/locale/es/LC_MESSAGES/PE.po +0 -88
  296. holidays/locale/es/LC_MESSAGES/PY.po +0 -88
  297. holidays/locale/es/LC_MESSAGES/SV.po +0 -75
  298. holidays/locale/es/LC_MESSAGES/UY.po +0 -120
  299. holidays/locale/es/LC_MESSAGES/VE.po +0 -92
  300. holidays/locale/et/LC_MESSAGES/EE.po +0 -76
  301. holidays/locale/fa/LC_MESSAGES/IR.po +0 -125
  302. holidays/locale/fa_AF/LC_MESSAGES/AF.po +0 -92
  303. holidays/locale/fi/LC_MESSAGES/FI.po +0 -164
  304. holidays/locale/fil/LC_MESSAGES/PH.po +0 -129
  305. holidays/locale/fr/LC_MESSAGES/BE.po +0 -88
  306. holidays/locale/fr/LC_MESSAGES/CA.po +0 -161
  307. holidays/locale/fr/LC_MESSAGES/CG.po +0 -67
  308. holidays/locale/fr/LC_MESSAGES/CH.po +0 -123
  309. holidays/locale/fr/LC_MESSAGES/DJ.po +0 -84
  310. holidays/locale/fr/LC_MESSAGES/DZ.po +0 -81
  311. holidays/locale/fr/LC_MESSAGES/FR.po +0 -116
  312. holidays/locale/fr/LC_MESSAGES/LU.po +0 -72
  313. holidays/locale/fr/LC_MESSAGES/MA.po +0 -89
  314. holidays/locale/fr/LC_MESSAGES/MC.po +0 -85
  315. holidays/locale/fr_HT/LC_MESSAGES/HT.po +0 -127
  316. holidays/locale/he/LC_MESSAGES/IL.po +0 -104
  317. holidays/locale/hr/LC_MESSAGES/HR.po +0 -94
  318. holidays/locale/ht/LC_MESSAGES/HT.po +0 -127
  319. holidays/locale/hu/LC_MESSAGES/HU.po +0 -101
  320. holidays/locale/hy/LC_MESSAGES/AM.po +0 -87
  321. holidays/locale/id/LC_MESSAGES/ID.po +0 -195
  322. holidays/locale/is/LC_MESSAGES/IS.po +0 -92
  323. holidays/locale/it/LC_MESSAGES/CH.po +0 -123
  324. holidays/locale/ja/LC_MESSAGES/JP.po +0 -128
  325. holidays/locale/ka/LC_MESSAGES/GE.po +0 -96
  326. holidays/locale/kk/LC_MESSAGES/KZ.po +0 -103
  327. holidays/locale/kl/LC_MESSAGES/GL.po +0 -91
  328. holidays/locale/km/LC_MESSAGES/KH.po +0 -132
  329. holidays/locale/ko/LC_MESSAGES/KR.po +0 -219
  330. holidays/locale/lb/LC_MESSAGES/LU.po +0 -72
  331. holidays/locale/lo/LC_MESSAGES/LA.po +0 -160
  332. holidays/locale/lt/LC_MESSAGES/LT.po +0 -94
  333. holidays/locale/lv/LC_MESSAGES/LV.po +0 -104
  334. holidays/locale/mg/LC_MESSAGES/MG.po +0 -92
  335. holidays/locale/ms/LC_MESSAGES/BN.po +0 -107
  336. holidays/locale/ms_MY/LC_MESSAGES/MY.po +0 -250
  337. holidays/locale/mt/LC_MESSAGES/MT.po +0 -83
  338. holidays/locale/nl/LC_MESSAGES/AW.po +0 -84
  339. holidays/locale/nl/LC_MESSAGES/BE.po +0 -88
  340. holidays/locale/nl/LC_MESSAGES/CW.po +0 -84
  341. holidays/locale/nl/LC_MESSAGES/NL.po +0 -76
  342. holidays/locale/no/LC_MESSAGES/NO.po +0 -80
  343. holidays/locale/pap_AW/LC_MESSAGES/AW.po +0 -84
  344. holidays/locale/pap_CW/LC_MESSAGES/CW.po +0 -84
  345. holidays/locale/pl/LC_MESSAGES/PL.po +0 -115
  346. holidays/locale/ps_AF/LC_MESSAGES/AF.po +0 -92
  347. holidays/locale/pt_AO/LC_MESSAGES/AO.po +0 -117
  348. holidays/locale/pt_BR/LC_MESSAGES/BR.po +0 -263
  349. holidays/locale/pt_BR/LC_MESSAGES/BVMF.po +0 -79
  350. holidays/locale/pt_MZ/LC_MESSAGES/MZ.po +0 -69
  351. holidays/locale/pt_PT/LC_MESSAGES/PT.po +0 -184
  352. holidays/locale/pt_TL/LC_MESSAGES/TL.po +0 -167
  353. holidays/locale/ro/LC_MESSAGES/MD.po +0 -82
  354. holidays/locale/ro/LC_MESSAGES/RO.po +0 -76
  355. holidays/locale/ru/LC_MESSAGES/BY.po +0 -111
  356. holidays/locale/ru/LC_MESSAGES/RU.po +0 -91
  357. holidays/locale/sk/LC_MESSAGES/CZ.po +0 -88
  358. holidays/locale/sk/LC_MESSAGES/SK.po +0 -96
  359. holidays/locale/sl/LC_MESSAGES/SI.po +0 -76
  360. holidays/locale/sq/LC_MESSAGES/AL.po +0 -106
  361. holidays/locale/sr/LC_MESSAGES/BA.po +0 -113
  362. holidays/locale/sr/LC_MESSAGES/RS.po +0 -68
  363. holidays/locale/sv/LC_MESSAGES/SE.po +0 -104
  364. holidays/locale/sv_FI/LC_MESSAGES/FI.po +0 -164
  365. holidays/locale/sw/LC_MESSAGES/TZ.po +0 -119
  366. holidays/locale/tet/LC_MESSAGES/TL.po +0 -167
  367. holidays/locale/th/LC_MESSAGES/AU.po +0 -177
  368. holidays/locale/th/LC_MESSAGES/BN.po +0 -109
  369. holidays/locale/th/LC_MESSAGES/BY.po +0 -109
  370. holidays/locale/th/LC_MESSAGES/CA.po +0 -161
  371. holidays/locale/th/LC_MESSAGES/CN.po +0 -101
  372. holidays/locale/th/LC_MESSAGES/DE.po +0 -126
  373. holidays/locale/th/LC_MESSAGES/ID.po +0 -195
  374. holidays/locale/th/LC_MESSAGES/JP.po +0 -128
  375. holidays/locale/th/LC_MESSAGES/KH.po +0 -138
  376. holidays/locale/th/LC_MESSAGES/KR.po +0 -219
  377. holidays/locale/th/LC_MESSAGES/LA.po +0 -160
  378. holidays/locale/th/LC_MESSAGES/MY.po +0 -250
  379. holidays/locale/th/LC_MESSAGES/NO.po +0 -80
  380. holidays/locale/th/LC_MESSAGES/PH.po +0 -128
  381. holidays/locale/th/LC_MESSAGES/RU.po +0 -90
  382. holidays/locale/th/LC_MESSAGES/SE.po +0 -104
  383. holidays/locale/th/LC_MESSAGES/SG.po +0 -98
  384. holidays/locale/th/LC_MESSAGES/TH.po +0 -352
  385. holidays/locale/th/LC_MESSAGES/TW.po +0 -78
  386. holidays/locale/th/LC_MESSAGES/UA.po +0 -114
  387. holidays/locale/th/LC_MESSAGES/VN.po +0 -93
  388. holidays/locale/to/LC_MESSAGES/TO.po +0 -91
  389. holidays/locale/tr/LC_MESSAGES/TR.po +0 -90
  390. holidays/locale/uk/LC_MESSAGES/AL.po +0 -106
  391. holidays/locale/uk/LC_MESSAGES/AO.po +0 -117
  392. holidays/locale/uk/LC_MESSAGES/AR.po +0 -138
  393. holidays/locale/uk/LC_MESSAGES/AT.po +0 -116
  394. holidays/locale/uk/LC_MESSAGES/AW.po +0 -84
  395. holidays/locale/uk/LC_MESSAGES/AZ.po +0 -136
  396. holidays/locale/uk/LC_MESSAGES/BA.po +0 -114
  397. holidays/locale/uk/LC_MESSAGES/BE.po +0 -88
  398. holidays/locale/uk/LC_MESSAGES/BG.po +0 -89
  399. holidays/locale/uk/LC_MESSAGES/BO.po +0 -117
  400. holidays/locale/uk/LC_MESSAGES/BR.po +0 -263
  401. holidays/locale/uk/LC_MESSAGES/BVMF.po +0 -79
  402. holidays/locale/uk/LC_MESSAGES/CH.po +0 -123
  403. holidays/locale/uk/LC_MESSAGES/CL.po +0 -136
  404. holidays/locale/uk/LC_MESSAGES/CO.po +0 -105
  405. holidays/locale/uk/LC_MESSAGES/CR.po +0 -85
  406. holidays/locale/uk/LC_MESSAGES/CU.po +0 -69
  407. holidays/locale/uk/LC_MESSAGES/CW.po +0 -84
  408. holidays/locale/uk/LC_MESSAGES/CY.po +0 -100
  409. holidays/locale/uk/LC_MESSAGES/CZ.po +0 -88
  410. holidays/locale/uk/LC_MESSAGES/DE.po +0 -126
  411. holidays/locale/uk/LC_MESSAGES/DK.po +0 -88
  412. holidays/locale/uk/LC_MESSAGES/DO.po +0 -76
  413. holidays/locale/uk/LC_MESSAGES/EC.po +0 -73
  414. holidays/locale/uk/LC_MESSAGES/EE.po +0 -76
  415. holidays/locale/uk/LC_MESSAGES/ES.po +0 -225
  416. holidays/locale/uk/LC_MESSAGES/FI.po +0 -164
  417. holidays/locale/uk/LC_MESSAGES/FR.po +0 -116
  418. holidays/locale/uk/LC_MESSAGES/GE.po +0 -96
  419. holidays/locale/uk/LC_MESSAGES/GR.po +0 -89
  420. holidays/locale/uk/LC_MESSAGES/HN.po +0 -76
  421. holidays/locale/uk/LC_MESSAGES/HR.po +0 -94
  422. holidays/locale/uk/LC_MESSAGES/HU.po +0 -101
  423. holidays/locale/uk/LC_MESSAGES/ID.po +0 -195
  424. holidays/locale/uk/LC_MESSAGES/IL.po +0 -104
  425. holidays/locale/uk/LC_MESSAGES/IS.po +0 -92
  426. holidays/locale/uk/LC_MESSAGES/KZ.po +0 -103
  427. holidays/locale/uk/LC_MESSAGES/LI.po +0 -116
  428. holidays/locale/uk/LC_MESSAGES/LT.po +0 -94
  429. holidays/locale/uk/LC_MESSAGES/LU.po +0 -72
  430. holidays/locale/uk/LC_MESSAGES/LV.po +0 -105
  431. holidays/locale/uk/LC_MESSAGES/MC.po +0 -85
  432. holidays/locale/uk/LC_MESSAGES/MD.po +0 -84
  433. holidays/locale/uk/LC_MESSAGES/ME.po +0 -102
  434. holidays/locale/uk/LC_MESSAGES/MG.po +0 -92
  435. holidays/locale/uk/LC_MESSAGES/MX.po +0 -60
  436. holidays/locale/uk/LC_MESSAGES/MZ.po +0 -69
  437. holidays/locale/uk/LC_MESSAGES/NI.po +0 -76
  438. holidays/locale/uk/LC_MESSAGES/NL.po +0 -76
  439. holidays/locale/uk/LC_MESSAGES/NO.po +0 -80
  440. holidays/locale/uk/LC_MESSAGES/PE.po +0 -88
  441. holidays/locale/uk/LC_MESSAGES/PL.po +0 -115
  442. holidays/locale/uk/LC_MESSAGES/PT.po +0 -184
  443. holidays/locale/uk/LC_MESSAGES/PY.po +0 -88
  444. holidays/locale/uk/LC_MESSAGES/RO.po +0 -76
  445. holidays/locale/uk/LC_MESSAGES/SE.po +0 -104
  446. holidays/locale/uk/LC_MESSAGES/SI.po +0 -76
  447. holidays/locale/uk/LC_MESSAGES/SK.po +0 -96
  448. holidays/locale/uk/LC_MESSAGES/SV.po +0 -75
  449. holidays/locale/uk/LC_MESSAGES/TR.po +0 -89
  450. holidays/locale/uk/LC_MESSAGES/UA.po +0 -112
  451. holidays/locale/uk/LC_MESSAGES/UY.po +0 -120
  452. holidays/locale/uk/LC_MESSAGES/UZ.po +0 -96
  453. holidays/locale/uk/LC_MESSAGES/VE.po +0 -92
  454. holidays/locale/uz/LC_MESSAGES/UZ.po +0 -96
  455. holidays/locale/vi/LC_MESSAGES/VN.po +0 -93
  456. holidays/locale/zh_CN/LC_MESSAGES/CN.po +0 -100
  457. holidays/locale/zh_CN/LC_MESSAGES/TW.po +0 -78
  458. holidays/locale/zh_TW/LC_MESSAGES/CN.po +0 -100
  459. holidays/locale/zh_TW/LC_MESSAGES/TW.po +0 -78
  460. holidays-0.65.dist-info/RECORD +0 -841
  461. {holidays-0.65.dist-info → holidays-0.67.dist-info}/LICENSE +0 -0
  462. {holidays-0.65.dist-info → holidays-0.67.dist-info}/WHEEL +0 -0
  463. {holidays-0.65.dist-info → holidays-0.67.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,515 @@
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 AUTHORS 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 import _CustomHinduHolidays, _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import (
17
+ JAN,
18
+ FEB,
19
+ MAR,
20
+ APR,
21
+ MAY,
22
+ JUN,
23
+ JUL,
24
+ AUG,
25
+ SEP,
26
+ OCT,
27
+ NOV,
28
+ DEC,
29
+ _timedelta,
30
+ )
31
+ from holidays.constants import BANK, GOVERNMENT, PUBLIC, WORKDAY
32
+ from holidays.groups import (
33
+ ChristianHolidays,
34
+ HinduCalendarHolidays,
35
+ InternationalHolidays,
36
+ IslamicHolidays,
37
+ SinhalaCalendarHolidays,
38
+ StaticHolidays,
39
+ )
40
+ from holidays.holiday_base import HolidayBase
41
+
42
+
43
+ class SriLanka(
44
+ HolidayBase,
45
+ ChristianHolidays,
46
+ HinduCalendarHolidays,
47
+ InternationalHolidays,
48
+ IslamicHolidays,
49
+ SinhalaCalendarHolidays,
50
+ StaticHolidays,
51
+ ):
52
+ """
53
+ References:
54
+ - http://www.commonlii.org/lk/legis/num_act/ha29o1971152/ # No. 29 of 1971 (Holidays Act)
55
+ - http://www.commonlii.org/lk/legis/num_act/ha21o1991232/ # No. 21 of 1991 (Amendment)
56
+ - https://web.archive.org/web/20110722150724/http://www.pubad.gov.lk/Holidays/holidays%202003.htm
57
+ - https://web.archive.org/web/20111018053717/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202004.pdf
58
+ - https://web.archive.org/web/20241120204015/https://documents.gov.lk/en/calendar.php
59
+
60
+ Cross-Checked With:
61
+ - https://web.archive.org/web/20111018053927/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202005.pdf
62
+ - https://web.archive.org/web/20111018061003/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202006.pdf
63
+ - https://web.archive.org/web/20110722150032/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202007.pdf
64
+ - https://web.archive.org/web/20111018071837/http://www.pubad.gov.lk/Holidays/PublicBankHolidays2008.pdf
65
+ - https://web.archive.org/web/20120309065711/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2009.pdf
66
+ - https://web.archive.org/web/20111018071247/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2010.pdf
67
+ - https://web.archive.org/web/20110722151043/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2011.pdf
68
+ - https://web.archive.org/web/20111125074237/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2012.pdf
69
+ - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2019
70
+ - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2020
71
+ - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2021
72
+ - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2022
73
+ - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2023
74
+ - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2024
75
+ - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2025
76
+ """
77
+
78
+ country = "LK"
79
+ supported_categories = (BANK, GOVERNMENT, PUBLIC, WORKDAY)
80
+ default_language = "si_LK"
81
+ # %s (estimated).
82
+ estimated_label = tr("%s (අනුමානිත)")
83
+ supported_languages = ("en_US", "si_LK", "ta_LK")
84
+ # Sri Lanka's Holidays Act (No. 29 of 1971) was first proclaimed on SEP 2nd, 1971
85
+ # but the earliest citable calendar online is from 2003.
86
+ # As there's no source for future Poya dates, end year is capped at 2025.
87
+ start_year = 1972
88
+ end_year = 2025
89
+
90
+ def __init__(self, *args, **kwargs):
91
+ ChristianHolidays.__init__(self)
92
+ HinduCalendarHolidays.__init__(self, SriLankaHinduHolidays)
93
+ InternationalHolidays.__init__(self)
94
+ IslamicHolidays.__init__(self, SriLankaIslamicHolidays)
95
+ SinhalaCalendarHolidays.__init__(self)
96
+ StaticHolidays.__init__(self, cls=SriLankaStaticHolidays)
97
+ super().__init__(*args, **kwargs)
98
+
99
+ def _populate_public_holidays(self):
100
+ # Non-Sectarian Holidays.
101
+
102
+ # Tamil Thai Pongal Day.
103
+ name = tr("දෙමළ තෛපොංැලල් දිනය")
104
+ thai_pongal_years_jan_14 = {
105
+ 2005,
106
+ 2006,
107
+ 2009,
108
+ 2010,
109
+ 2013,
110
+ 2014,
111
+ 2017,
112
+ 2018,
113
+ 2021,
114
+ 2022,
115
+ 2025,
116
+ }
117
+ if self._year in thai_pongal_years_jan_14:
118
+ self._add_holiday_jan_14(name)
119
+ else:
120
+ self._add_holiday_jan_15(name)
121
+
122
+ # Independence Day.
123
+ self._add_holiday_feb_4(tr("නිදහස් සමරු දිනය"))
124
+
125
+ # Sinhala and Tamil New Year.
126
+ name = tr("සිංහල හා දෙමළ අලුත් අවුරුදු දිනය")
127
+ aluth_avurudda_years_apr_13 = {
128
+ 2004,
129
+ 2008,
130
+ 2012,
131
+ # 2016 is on APR, 14.
132
+ 2020,
133
+ 2024,
134
+ }
135
+ if self._year in aluth_avurudda_years_apr_13:
136
+ dt = self._add_holiday_apr_13(name)
137
+ else:
138
+ dt = self._add_holiday_apr_14(name)
139
+ # Day Before Sinhala and Tamil New Year.
140
+ self._add_holiday(tr("සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය"), _timedelta(dt, -1))
141
+
142
+ # International Workers' Day.
143
+ self._add_labor_day(tr("ලොක කම්කරු දිනය"))
144
+
145
+ # Hindu Holidays.
146
+
147
+ maha_sivarathri_dates = {
148
+ # The one used in Sri Lanka isn't an exact match with India, used with caution.
149
+ 2003: (MAR, 1),
150
+ 2004: (FEB, 18),
151
+ 2005: (MAR, 8),
152
+ 2006: (FEB, 26),
153
+ 2007: (FEB, 16),
154
+ 2008: (MAR, 6),
155
+ 2009: (FEB, 23),
156
+ 2010: (MAR, 13),
157
+ 2011: (MAR, 2),
158
+ 2012: (FEB, 20),
159
+ 2013: (MAR, 10),
160
+ 2014: (FEB, 27),
161
+ 2015: (FEB, 17),
162
+ 2016: (MAR, 7),
163
+ 2017: (FEB, 24),
164
+ 2018: (FEB, 13),
165
+ 2019: (MAR, 4),
166
+ 2020: (FEB, 21),
167
+ 2021: (MAR, 11),
168
+ 2022: (MAR, 1),
169
+ 2023: (FEB, 18),
170
+ 2024: (MAR, 8),
171
+ 2025: (FEB, 26),
172
+ }
173
+ maha_sivarathri_date = maha_sivarathri_dates.get(self._year)
174
+ if maha_sivarathri_date:
175
+ # Maha Sivarathri Day.
176
+ self._add_holiday(tr("මහ සිවරාත්රි දිනය"), maha_sivarathri_date)
177
+
178
+ # Deepavali was a working day in 2003.
179
+ if self._year >= 2004:
180
+ # Deepavali Festival Day.
181
+ self._add_diwali(tr("දීපවාලි උත්සව දිනය"))
182
+
183
+ # Christian Holidays.
184
+
185
+ # Good Friday.
186
+ self._add_good_friday(tr("මහ සිකුරාදා දිනය"))
187
+
188
+ # Christmas Day.
189
+ self._add_christmas_day(tr("නත්තල් උත්සව දිනය"))
190
+
191
+ # Poya Holidays.
192
+ # All Adhi Poya Holidays will instead be added in StaticHolidays.
193
+
194
+ # Duruthu Full Moon Poya Day.
195
+ self._add_duruthu_poya(tr("දුරුතු පුර පසළොස්වක පෝය දිනය"))
196
+
197
+ # Nawam Full Moon Poya Day.
198
+ self._add_nawam_poya(tr("නවම් පුර පසළොස්වක පෝය දිනය"))
199
+
200
+ # Medin Full Moon Poya Day.
201
+ self._add_medin_poya(tr("මැදින් පුර පසළොස්වක පෝය දිනය"))
202
+
203
+ # Bak Full Moon Poya Day.
204
+ self._add_bak_poya(tr("බක් පුර පසළොස්වක පෝය දිනය"))
205
+
206
+ # Vesak Full Moon Poya Day.
207
+ dt = self._add_vesak_poya(tr("වෙසක් පුර පසළොස්වක පෝය දිනය"))
208
+
209
+ if self._year >= 2003:
210
+ # Day Following Vesak Full Moon Poya Day.
211
+ self._add_holiday(tr("වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය"), _timedelta(dt, +1))
212
+
213
+ # Poson Full Moon Poya Day.
214
+ self._add_poson_poya(tr("පොසොන් පුර පසළොස්වක පෝය දිනය"))
215
+
216
+ # Esala Full Moon Poya Day.
217
+ self._add_esala_poya(tr("ඇසල පුර පසළොස්වක පෝය දිනය"))
218
+
219
+ # Nikini Full Moon Poya Day.
220
+ self._add_nikini_poya(tr("නිකිණි පුර පසළොස්වක පෝය දිනය"))
221
+
222
+ # Binara Full Moon Poya Day.
223
+ self._add_binara_poya(tr("බිනර පුර පසළොස්වක පෝය දිනය"))
224
+
225
+ # Vap Full Moon Poya Day.
226
+ self._add_vap_poya(tr("වප් පුර පසළොස්වක පෝය දිනය"))
227
+
228
+ # Il Full Moon Poya Day.
229
+ self._add_il_poya(tr("ඉල් පුර පසළොස්වක පෝය දිනය"))
230
+
231
+ # Unduvap Full Moon Poya Day.
232
+ self._add_unduvap_poya(tr("උඳුවප් පුර පසළොස්වක පෝය දිනය"))
233
+
234
+ # Islamic Holidays.
235
+
236
+ # Eid al-Fitr.
237
+ self._add_eid_al_fitr_day(tr("ඊදුල් ෆීතර්"))
238
+
239
+ # Eid al-Adha.
240
+ self._add_eid_al_adha_day(tr("ඊදුල් අල්හා"))
241
+
242
+ # Prophet's Birthday.
243
+ self._add_mawlid_day(tr("නබි නායකතුමාගේ උපන් දිනය"))
244
+
245
+
246
+ class LK(SriLanka):
247
+ pass
248
+
249
+
250
+ class LKA(SriLanka):
251
+ pass
252
+
253
+
254
+ class SriLankaHinduHolidays(_CustomHinduHolidays):
255
+ DIWALI_DATES = {
256
+ 2003: (OCT, 24),
257
+ 2004: (NOV, 11),
258
+ 2005: (NOV, 1),
259
+ 2006: (OCT, 21),
260
+ 2007: (NOV, 8),
261
+ 2008: (OCT, 27),
262
+ 2009: (OCT, 17),
263
+ 2010: (NOV, 5),
264
+ 2011: (OCT, 26),
265
+ 2012: (NOV, 13),
266
+ 2013: (NOV, 2),
267
+ 2014: (OCT, 22),
268
+ 2015: (NOV, 10),
269
+ 2016: (OCT, 29),
270
+ 2017: (OCT, 18),
271
+ 2018: (NOV, 6),
272
+ 2019: (OCT, 27),
273
+ 2020: (NOV, 14),
274
+ 2021: (NOV, 4),
275
+ 2022: (OCT, 24),
276
+ 2023: (NOV, 12),
277
+ 2024: (OCT, 31),
278
+ 2025: (OCT, 20),
279
+ }
280
+
281
+
282
+ class SriLankaIslamicHolidays(_CustomIslamicHolidays):
283
+ EID_AL_ADHA_DATES = {
284
+ 2003: (FEB, 12),
285
+ 2004: (FEB, 1),
286
+ 2005: (JAN, 21),
287
+ 2006: ((JAN, 11), (DEC, 31)),
288
+ 2007: (DEC, 21),
289
+ 2008: (DEC, 9),
290
+ 2009: (NOV, 28),
291
+ 2010: (NOV, 17),
292
+ # https://www.adaderana.lk/news.php?nid=15606
293
+ 2011: (NOV, 7),
294
+ # https://www.adaderana.lk/news.php?nid=20136
295
+ 2012: (OCT, 27),
296
+ 2013: (OCT, 16),
297
+ 2014: (OCT, 5),
298
+ 2015: (SEP, 24),
299
+ 2016: (SEP, 12),
300
+ 2017: (SEP, 1),
301
+ 2018: (AUG, 22),
302
+ 2019: (AUG, 12),
303
+ 2020: (AUG, 1),
304
+ 2021: (JUL, 21),
305
+ 2022: (JUL, 10),
306
+ 2023: (JUN, 29),
307
+ 2024: (JUN, 17),
308
+ 2025: (JUN, 7),
309
+ }
310
+
311
+ EID_AL_FITR_DATES = {
312
+ 2003: (NOV, 26),
313
+ 2004: (NOV, 14),
314
+ 2005: (NOV, 4),
315
+ 2006: (OCT, 24),
316
+ 2007: (OCT, 13),
317
+ 2008: (OCT, 1),
318
+ 2009: (SEP, 21),
319
+ 2010: (SEP, 10),
320
+ 2011: (AUG, 31),
321
+ 2012: (AUG, 19),
322
+ 2013: (AUG, 9),
323
+ 2014: (JUL, 29),
324
+ 2015: (JUL, 18),
325
+ 2016: (JUL, 6),
326
+ 2017: (JUN, 26),
327
+ 2018: (JUN, 15),
328
+ 2019: (JUN, 5),
329
+ 2020: (MAY, 25),
330
+ 2021: (MAY, 14),
331
+ 2022: (MAY, 3),
332
+ 2023: (APR, 22),
333
+ 2024: (APR, 11),
334
+ 2025: (MAR, 31),
335
+ }
336
+
337
+ MAWLID_DATES = {
338
+ 2003: (MAY, 14),
339
+ 2004: (MAY, 2),
340
+ 2005: (APR, 22),
341
+ 2006: (APR, 11),
342
+ 2007: (APR, 1),
343
+ 2008: (MAR, 20),
344
+ 2009: (MAR, 10),
345
+ 2010: (FEB, 27),
346
+ 2011: (FEB, 16),
347
+ 2012: (FEB, 5),
348
+ 2013: (JAN, 25),
349
+ 2014: (JAN, 14),
350
+ # Technically 2015 has both JAN 5 and DEC 24
351
+ # but this is only observed for JAN 4.
352
+ 2015: (JAN, 4),
353
+ 2016: (DEC, 12),
354
+ 2017: (DEC, 1),
355
+ 2018: (NOV, 20),
356
+ 2019: (NOV, 10),
357
+ 2020: (OCT, 30),
358
+ 2021: (OCT, 19),
359
+ 2022: (OCT, 9),
360
+ 2023: (SEP, 28),
361
+ 2024: (SEP, 16),
362
+ 2025: (SEP, 5),
363
+ }
364
+
365
+
366
+ class SriLankaStaticHolidays:
367
+ """
368
+ References:
369
+ - https://www.adaderana.lk/news.php?nid=13026
370
+ - https://www.adaderana.lk/news.php?nid=17539
371
+ - https://www.adaderana.lk/news.php?nid=22168
372
+ - https://www.adaderana.lk/news.php?nid=34870
373
+ - https://www.adaderana.lk/news.php?nid=55146
374
+ - https://www.adaderana.lk/news.php?nid=61437
375
+ - https://www.adaderana.lk/news.php?nid=64367
376
+ - https://www.adaderana.lk/news.php?nid=81686
377
+ - https://www.adaderana.lk/news.php?nid=82111
378
+ - https://www.adaderana.lk/news.php?nid=82979
379
+ - https://www.adaderana.lk/news.php?nid=83082
380
+ - https://www.adaderana.lk/news.php?nid=84035
381
+ - https://www.adaderana.lk/news.php?nid=98560
382
+ - https://www.adaderana.lk/news.php?nid=102125
383
+ - https://web.archive.org/web/20110722150724/http://www.pubad.gov.lk/Holidays/holidays%202003.htm
384
+ - https://web.archive.org/web/20111018053717/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202004.pdf
385
+ - https://web.archive.org/web/20241120204015/https://documents.gov.lk/en/calendar.php
386
+ """
387
+
388
+ # Adhi Binara Full Moon Poya Day.
389
+ adhi_binara_poya_name = tr("අධි බිනර පුර පසළොස්වක පෝය දිනය")
390
+
391
+ # Adhi Esala Full Moon Poya Day.
392
+ adhi_esala_poya_name = tr("අධි ඇසල පුර පසළොස්වක පෝය දිනය")
393
+
394
+ # Adhi Poson Full Moon Poya Day.
395
+ adhi_poson_poya_name = tr("අධි පොසොන් පුර පසළොස්වක පෝය දිනය")
396
+
397
+ # Adhi Vap Full Moon Poya Day.
398
+ adhi_vap_poya_name = tr("අධි වප් පුර පසළොස්වක පෝය දිනය")
399
+
400
+ # Adhi Vesak Full Mon Poya Day.
401
+ adhi_vesak_poya_name = tr("අධි වෙසක් පුර පසළොස්වක පෝය දිනය")
402
+
403
+ # Half-Day Special Bank Holiday.
404
+ half_day_special_bank_holiday_name = tr("දින භාගයක විශේෂ බැංකු නිවාඩු දිනය")
405
+
406
+ # Public Sector Holiday.
407
+ public_sector_holiday_name = tr("රාජ්ය අංශයේ නිවාඩු දිනය")
408
+
409
+ # Special Bank Holiday.
410
+ special_bank_holiday_name = tr("විශේෂ බැංකු නිවාඩු දිනය")
411
+
412
+ # Special Public Holiday.
413
+ special_public_holiday_name = tr("විශේෂ රජයේ නිවාඩු දිනය")
414
+
415
+ special_bank_holidays = {
416
+ 2005: (
417
+ (MAY, 2, special_bank_holiday_name),
418
+ (DEC, 26, special_bank_holiday_name),
419
+ ),
420
+ 2007: (
421
+ (FEB, 5, special_bank_holiday_name),
422
+ (APR, 3, special_bank_holiday_name),
423
+ ),
424
+ 2008: (APR, 18, special_bank_holiday_name),
425
+ 2011: (
426
+ (MAY, 2, special_bank_holiday_name),
427
+ (DEC, 26, special_bank_holiday_name),
428
+ ),
429
+ 2012: (
430
+ (JAN, 16, special_bank_holiday_name),
431
+ (FEB, 10, special_bank_holiday_name),
432
+ (MAY, 7, special_bank_holiday_name),
433
+ ),
434
+ 2013: (APR, 15, special_bank_holiday_name),
435
+ 2014: (APR, 15, special_bank_holiday_name),
436
+ 2015: (JAN, 5, special_bank_holiday_name),
437
+ 2016: (
438
+ (MAY, 2, special_bank_holiday_name),
439
+ (MAY, 23, special_bank_holiday_name),
440
+ (DEC, 26, special_bank_holiday_name),
441
+ ),
442
+ 2018: (
443
+ (JAN, 15, special_bank_holiday_name),
444
+ (FEB, 5, special_bank_holiday_name),
445
+ ),
446
+ 2019: (
447
+ (APR, 15, special_bank_holiday_name),
448
+ # MAY 20 got upgraded to Special Public Holiday.
449
+ (NOV, 11, special_bank_holiday_name),
450
+ ),
451
+ 2020: (APR, 14, special_bank_holiday_name),
452
+ 2021: (
453
+ (APR, 30, half_day_special_bank_holiday_name),
454
+ (DEC, 24, half_day_special_bank_holiday_name),
455
+ ),
456
+ 2022: (
457
+ # MAY 2 got upgraded to Special Public Holiday.
458
+ (OCT, 10, special_bank_holiday_name),
459
+ (DEC, 26, special_bank_holiday_name),
460
+ ),
461
+ 2023: (JAN, 16, special_bank_holiday_name),
462
+ 2025: (APR, 15, special_bank_holiday_name),
463
+ }
464
+
465
+ special_government_holidays = {
466
+ 2020: (JUN, 4, public_sector_holiday_name),
467
+ 2022: (
468
+ (JUN, 13, public_sector_holiday_name),
469
+ # All Friday between JUN 15, 2022 to AUG 2, 2022.
470
+ (JUN, 17, public_sector_holiday_name),
471
+ (JUN, 24, public_sector_holiday_name),
472
+ (JUL, 1, public_sector_holiday_name),
473
+ (JUL, 8, public_sector_holiday_name),
474
+ (JUL, 15, public_sector_holiday_name),
475
+ (JUL, 22, public_sector_holiday_name),
476
+ (JUL, 29, public_sector_holiday_name),
477
+ ),
478
+ }
479
+
480
+ special_public_holidays = {
481
+ 2004: (JUL, 31, adhi_esala_poya_name),
482
+ 2007: (MAY, 31, adhi_poson_poya_name),
483
+ 2010: (APR, 28, adhi_vesak_poya_name),
484
+ # 2011, MAY 2 confirmed as not getting upgrade to Special Public Holiday.
485
+ 2012: (
486
+ (MAY, 7, special_public_holiday_name),
487
+ (AUG, 31, adhi_binara_poya_name),
488
+ ),
489
+ 2013: (APR, 15, special_public_holiday_name),
490
+ 2015: (JUL, 1, adhi_esala_poya_name),
491
+ 2016: (APR, 15, special_public_holiday_name),
492
+ 2018: (MAY, 29, adhi_poson_poya_name),
493
+ 2019: (MAY, 20, special_public_holiday_name),
494
+ 2020: (
495
+ (MAR, 16, special_public_holiday_name),
496
+ (MAR, 17, special_public_holiday_name),
497
+ (MAR, 18, special_public_holiday_name),
498
+ (MAR, 19, special_public_holiday_name),
499
+ (OCT, 1, adhi_vap_poya_name),
500
+ ),
501
+ 2022: (
502
+ (APR, 11, special_public_holiday_name),
503
+ (APR, 12, special_public_holiday_name),
504
+ (MAY, 2, special_public_holiday_name),
505
+ ),
506
+ 2023: (JUL, 3, adhi_esala_poya_name),
507
+ 2024: (
508
+ (APR, 15, special_public_holiday_name),
509
+ (SEP, 29, special_public_holiday_name),
510
+ ),
511
+ }
512
+
513
+ special_workday_holidays = {
514
+ 2003: (OCT, 24, tr("දීපවාලි උත්සව දිනය")), # Deepavali Festival Day.
515
+ }
@@ -30,6 +30,9 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
30
30
  Primary sources:
31
31
  - https://sv.wikipedia.org/wiki/Helgdagar_i_Sverige
32
32
  - http://www.riksdagen.se/sv/dokument-lagar/dokument/svensk-forfattningssamling/lag-1989253-om-allmanna-helgdagar_sfs-1989-253
33
+ - https://sv.wikipedia.org/wiki/F%C3%B6rsta_maj
34
+ - https://sv.wikipedia.org/wiki/Sveriges_nationaldag
35
+ - https://sv.wikipedia.org/wiki/Midsommarafton
33
36
  """
34
37
 
35
38
  country = "SE"
@@ -66,7 +69,6 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
66
69
  # Easter Monday.
67
70
  self._add_easter_monday(tr("Annandag påsk"))
68
71
 
69
- # Source: https://sv.wikipedia.org/wiki/F%C3%B6rsta_maj
70
72
  if self._year >= 1939:
71
73
  # May Day.
72
74
  self._add_labor_day(tr("Första maj"))
@@ -74,7 +76,6 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
74
76
  # Ascension Day.
75
77
  self._add_ascension_thursday(tr("Kristi himmelsfärdsdag"))
76
78
 
77
- # Source: https://sv.wikipedia.org/wiki/Sveriges_nationaldag
78
79
  if self._year >= 2005:
79
80
  # National Day of Sweden.
80
81
  self._add_holiday_jun_6(tr("Sveriges nationaldag"))
@@ -86,11 +87,6 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
86
87
  # Whit Monday.
87
88
  self._add_whit_monday(tr("Annandag pingst"))
88
89
 
89
- # Source:
90
- # https://sv.wikipedia.org/wiki/Midsommarafton
91
- # https://www.nordiskamuseet.se/aretsdagar/midsommarafton
92
- # Midsummer evening. Friday between June 19th and June 25th
93
-
94
90
  # Midsummer Eve.
95
91
  name = tr("Midsommarafton")
96
92
  dt = (
@@ -102,8 +98,9 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
102
98
  # Midsummer Day.
103
99
  self._add_holiday(tr("Midsommardagen"), _timedelta(dt, +1))
104
100
 
105
- # All Saints' Day.
106
- self._add_holiday_1st_sat_from_oct_31(tr("Alla helgons dag"))
101
+ if self._year >= 1953:
102
+ # All Saints' Day.
103
+ self._add_holiday_1st_sat_from_oct_31(tr("Alla helgons dag"))
107
104
 
108
105
  # Christmas Eve.
109
106
  self._add_christmas_eve(tr("Julafton"))
@@ -79,7 +79,7 @@ class Switzerland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays)
79
79
  self._add_christmas_day(tr("Weihnachten"))
80
80
 
81
81
  def _populate_subdiv_ag_public_holidays(self):
82
- # Berchtold's Day.
82
+ # Saint Berchtold's Day.
83
83
  self._add_new_years_day_two(tr("Berchtoldstag"))
84
84
 
85
85
  # Good Friday.
@@ -879,7 +879,7 @@ class Thailand(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiC
879
879
  if 1960 <= self._year <= 2025 and self._year != 1999:
880
880
  self._add_observed(
881
881
  # Royal Ploughing Ceremony.
882
- self._add_holiday(tr("วันพืชมงคล"), raeknakhwan_dates.get(self._year, (MAY, 13)))
882
+ self._add_holiday(tr("วันพืชมงคล"), raeknakhwan_dates.get(self._year))
883
883
  )
884
884
 
885
885
  def _populate_school_holidays(self):