holidays 0.47__py3-none-any.whl → 0.49__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 (64) hide show
  1. holidays/__init__.py +1 -1
  2. holidays/calendars/gregorian.py +31 -7
  3. holidays/calendars/persian.py +3 -2
  4. holidays/calendars/thai.py +24 -20
  5. holidays/countries/__init__.py +1 -0
  6. holidays/countries/angola.py +2 -2
  7. holidays/countries/aruba.py +2 -3
  8. holidays/countries/australia.py +1 -3
  9. holidays/countries/belgium.py +1 -2
  10. holidays/countries/bolivia.py +1 -2
  11. holidays/countries/brazil.py +1 -2
  12. holidays/countries/cambodia.py +7 -8
  13. holidays/countries/canada.py +2 -1
  14. holidays/countries/chile.py +6 -6
  15. holidays/countries/colombia.py +1 -2
  16. holidays/countries/curacao.py +3 -4
  17. holidays/countries/cyprus.py +1 -2
  18. holidays/countries/denmark.py +1 -2
  19. holidays/countries/finland.py +3 -3
  20. holidays/countries/france.py +1 -2
  21. holidays/countries/greece.py +11 -6
  22. holidays/countries/hongkong.py +398 -133
  23. holidays/countries/israel.py +13 -13
  24. holidays/countries/italy.py +2 -4
  25. holidays/countries/japan.py +17 -6
  26. holidays/countries/jersey.py +2 -2
  27. holidays/countries/laos.py +7 -23
  28. holidays/countries/madagascar.py +2 -3
  29. holidays/countries/malaysia.py +545 -235
  30. holidays/countries/moldova.py +1 -2
  31. holidays/countries/netherlands.py +2 -3
  32. holidays/countries/new_zealand.py +10 -11
  33. holidays/countries/palau.py +127 -0
  34. holidays/countries/portugal.py +2 -6
  35. holidays/countries/saudi_arabia.py +2 -3
  36. holidays/countries/south_korea.py +18 -5
  37. holidays/countries/sweden.py +2 -3
  38. holidays/countries/switzerland.py +2 -3
  39. holidays/countries/timor_leste.py +23 -1
  40. holidays/countries/united_states.py +1 -1
  41. holidays/countries/uruguay.py +3 -4
  42. holidays/financial/__init__.py +1 -0
  43. holidays/financial/ice_futures_europe.py +47 -0
  44. holidays/financial/ny_stock_exchange.py +17 -4
  45. holidays/groups/chinese.py +2 -3
  46. holidays/groups/christian.py +18 -19
  47. holidays/groups/international.py +10 -0
  48. holidays/groups/islamic.py +2 -2
  49. holidays/groups/persian.py +2 -2
  50. holidays/helpers.py +9 -3
  51. holidays/holiday_base.py +133 -66
  52. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  53. holidays/locale/en_US/LC_MESSAGES/MY.po +250 -0
  54. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  55. holidays/locale/ms_MY/LC_MESSAGES/MY.po +250 -0
  56. holidays/mixins.py +31 -0
  57. holidays/observed_holiday_base.py +25 -13
  58. holidays/registry.py +2 -0
  59. {holidays-0.47.dist-info → holidays-0.49.dist-info}/METADATA +29 -21
  60. {holidays-0.47.dist-info → holidays-0.49.dist-info}/RECORD +64 -57
  61. {holidays-0.47.dist-info → holidays-0.49.dist-info}/AUTHORS +0 -0
  62. {holidays-0.47.dist-info → holidays-0.49.dist-info}/LICENSE +0 -0
  63. {holidays-0.47.dist-info → holidays-0.49.dist-info}/WHEEL +0 -0
  64. {holidays-0.47.dist-info → holidays-0.49.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,250 @@
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/python-holidays
11
+ # License: MIT (see LICENSE file)
12
+ #
13
+ # Malaysia holidays en_US localization.
14
+ #
15
+ msgid ""
16
+ msgstr ""
17
+ "Project-Id-Version: Python Holidays 0.49\n"
18
+ "POT-Creation-Date: 2024-04-28 21:03+0300\n"
19
+ "PO-Revision-Date: 2024-04-29 15:16+0300\n"
20
+ "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
21
+ "Language-Team: Python Holidays Localization Team\n"
22
+ "Language: en_US\n"
23
+ "MIME-Version: 1.0\n"
24
+ "Content-Type: text/plain; charset=UTF-8\n"
25
+ "Content-Transfer-Encoding: 8bit\n"
26
+ "Generated-By: Lingva 5.0.2\n"
27
+ "X-Generator: Poedit 3.4.2\n"
28
+
29
+ #. %s (estimated).
30
+ #, c-format
31
+ msgid "%s (anggaran)"
32
+ msgstr "%s (estimated)"
33
+
34
+ #. %s (in lieu).
35
+ #, c-format
36
+ msgid "Cuti %s"
37
+ msgstr "%s (observed)"
38
+
39
+ #. %s (observed, estimated).
40
+ #, c-format
41
+ msgid "Cuti %s (anggaran)"
42
+ msgstr "%s (observed, estimated)"
43
+
44
+ #. Chinese New Year.
45
+ msgid "Tahun Baharu Cina"
46
+ msgstr "Chinese New Year"
47
+
48
+ #. Chinese New Year (Second Day).
49
+ msgid "Tahun Baharu Cina (Hari Kedua)"
50
+ msgstr "Chinese New Year (Second Day)"
51
+
52
+ #. Vesak Day.
53
+ msgid "Hari Wesak"
54
+ msgstr "Vesak Day"
55
+
56
+ #. Labor Day.
57
+ msgid "Hari Pekerja"
58
+ msgstr "Labor Day"
59
+
60
+ #. Birthday of HM Yang di-Pertuan Agong.
61
+ msgid "Hari Keputeraan Rasmi Seri Paduka Baginda Yang di-Pertuan Agong"
62
+ msgstr "Birthday of HM Yang di-Pertuan Agong"
63
+
64
+ #. National Day.
65
+ msgid "Hari Kebangsaan"
66
+ msgstr "National Day"
67
+
68
+ #. Malaysia Day.
69
+ msgid "Hari Malaysia"
70
+ msgstr "Malaysia Day"
71
+
72
+ #. Christmas Day.
73
+ msgid "Hari Krismas"
74
+ msgstr "Christmas Day"
75
+
76
+ #. Islamic New Year.
77
+ msgid "Awal Muharam"
78
+ msgstr "Islamic New Year"
79
+
80
+ #. Prophet Muhammad's Birthday.
81
+ msgid "Hari Keputeraan Nabi Muhammad S.A.W."
82
+ msgstr "Prophet Muhammad's Birthday"
83
+
84
+ #. Eid al-Fitr.
85
+ msgid "Hari Raya Puasa"
86
+ msgstr "Eid al-Fitr"
87
+
88
+ #. Eid al-Fitr (Second Day).
89
+ msgid "Hari Raya Puasa (Hari Kedua)"
90
+ msgstr "Eid al-Fitr (Second Day)"
91
+
92
+ #. Eid al-Adha.
93
+ msgid "Hari Raya Qurban"
94
+ msgstr "Eid al-Adha"
95
+
96
+ #. Deepavali.
97
+ msgid "Hari Deepavali"
98
+ msgstr "Deepavali"
99
+
100
+ #. Thaipusam.
101
+ msgid "Hari Thaipusam"
102
+ msgstr "Thaipusam"
103
+
104
+ #. Birthday of the Sultan of Johor.
105
+ msgid "Hari Keputeraan Sultan Johor"
106
+ msgstr "Birthday of the Sultan of Johor"
107
+
108
+ #. The Sultan of Johor Hol.
109
+ msgid "Hari Hol Almarhum Sultan Iskandar"
110
+ msgstr "The Sultan of Johor Hol"
111
+
112
+ #. Beginning of Ramadan.
113
+ msgid "Awal Ramadan"
114
+ msgstr "Beginning of Ramadan"
115
+
116
+ #. Birthday of The Sultan of Kedah.
117
+ msgid "Hari Keputeraan Sultan Kedah"
118
+ msgstr "Birthday of The Sultan of Kedah"
119
+
120
+ #. Isra' and Mi'raj.
121
+ msgid "Israk dan Mikraj"
122
+ msgstr "Isra' and Mi'raj"
123
+
124
+ #. Eid al-Adha (Second Day).
125
+ msgid "Hari Raya Qurban (Hari Kedua)"
126
+ msgstr "Eid al-Adha (Second Day)"
127
+
128
+ #. Birthday of the Sultan of Kelantan.
129
+ msgid "Hari Keputeraan Sultan Kelantan"
130
+ msgstr "Birthday of the Sultan of Kelantan"
131
+
132
+ #. Nuzul Al-Quran Day.
133
+ msgid "Hari Nuzul Al-Quran"
134
+ msgstr "Nuzul Al-Quran Day"
135
+
136
+ #. New Year's Day.
137
+ msgid "Tahun Baharu"
138
+ msgstr "New Year's Day"
139
+
140
+ #. Federal Territory Day.
141
+ msgid "Hari Wilayah Persekutuan"
142
+ msgstr "Federal Territory Day"
143
+
144
+ #. Pesta Kaamatan.
145
+ msgid "Pesta Kaamatan"
146
+ msgstr "Pesta Kaamatan"
147
+
148
+ #. Declaration of Independence Day.
149
+ msgid "Hari Pengisytiharan Tarikh Kemerdekaan"
150
+ msgstr "Declaration of Independence Day"
151
+
152
+ #. Declaration of Malacca as a Historical City.
153
+ msgid "Hari Perisytiharan Melaka Sebagai Bandaraya Bersejarah"
154
+ msgstr "Declaration of Malacca as a Historical City"
155
+
156
+ #. Birthday of the Governor of Malacca.
157
+ msgid "Hari Jadi Yang di-Pertua Negeri Melaka"
158
+ msgstr "Birthday of the Governor of Malacca"
159
+
160
+ #. Birthday of the Sultan of Negeri Sembilan.
161
+ msgid "Hari Keputeraan Yang di-Pertuan Besar Negeri Sembilan"
162
+ msgstr "Birthday of the Sultan of Negeri Sembilan"
163
+
164
+ #. The Sultan of Pahang Hol.
165
+ msgid "Hari Hol Sultan Pahang"
166
+ msgstr "The Sultan of Pahang Hol"
167
+
168
+ #. Birthday of the Sultan of Pahang.
169
+ msgid "Hari Keputeraan Sultan Pahang"
170
+ msgstr "Birthday of the Sultan of Pahang"
171
+
172
+ #. Birthday of the Raja of Perlis.
173
+ msgid "Hari Ulang Tahun Keputeraan Raja Perlis"
174
+ msgstr "Birthday of the Raja of Perlis"
175
+
176
+ #. George Town Heritage Day.
177
+ msgid "Hari Ulang Tahun Perisytiharan Tapak Warisan Dunia"
178
+ msgstr "George Town Heritage Day"
179
+
180
+ #. Birthday of the Governor of Penang.
181
+ msgid "Hari Jadi Yang di-Pertua Negeri Pulau Pinang"
182
+ msgstr "Birthday of the Governor of Penang"
183
+
184
+ #. Birthday of the Sultan of Perak.
185
+ msgid "Hari Keputeraan Sultan Perak"
186
+ msgstr "Birthday of the Sultan of Perak"
187
+
188
+ #. Good Friday.
189
+ msgid "Good Friday"
190
+ msgstr "Good Friday"
191
+
192
+ #. Birthday of the Governor of Sabah.
193
+ msgid "Hari Jadi Yang di-Pertua Negeri Sabah"
194
+ msgstr "Birthday of the Governor of Sabah"
195
+
196
+ #. Christmas Eve.
197
+ msgid "Christmas Eve"
198
+ msgstr "Christmas Eve"
199
+
200
+ #. Birthday of The Sultan of Selangor.
201
+ msgid "Hari Keputeraan Sultan Selangor"
202
+ msgstr "Birthday of The Sultan of Selangor"
203
+
204
+ #. Dayak Festival Day.
205
+ msgid "Perayaan Hari Gawai Dayak"
206
+ msgstr "Dayak Festival Day"
207
+
208
+ #. Birthday of the Governor of Sarawak.
209
+ msgid "Hari Jadi Yang di-Pertua Negeri Sarawak"
210
+ msgstr "Birthday of the Governor of Sarawak"
211
+
212
+ #. Sarawak Independence Day.
213
+ msgid "Hari Kemerdekaan Sarawak"
214
+ msgstr "Sarawak Independence Day"
215
+
216
+ #. Anniversary of the Installation of the Sultan of Terengganu.
217
+ msgid "Hari Ulang Tahun Pertabalan Sultan Terengganu"
218
+ msgstr "Anniversary of the Installation of the Sultan of Terengganu"
219
+
220
+ #. Birthday of the Sultan of Terengganu.
221
+ msgid "Hari Keputeraan Sultan Terengganu"
222
+ msgstr "Birthday of the Sultan of Terengganu"
223
+
224
+ #. Arafat Day.
225
+ msgid "Hari Arafah"
226
+ msgstr "Arafat Day"
227
+
228
+ #. General election additional holiday.
229
+ msgid "Cuti Peristiwa (pilihan raya umum)"
230
+ msgstr "General election additional holiday"
231
+
232
+ #. Malaysia Cup Holiday.
233
+ msgid "Cuti Piala Malaysia"
234
+ msgstr "Malaysia Cup Holiday"
235
+
236
+ #. Day of Installation of the 15th Yang di-Pertuan Agong.
237
+ msgid "Hari Pertabalan Yang di-Pertuan Agong ke-15"
238
+ msgstr "Day of Installation of the 15th Yang di-Pertuan Agong"
239
+
240
+ #. Day of Installation of the 16th Yang di-Pertuan Agong.
241
+ msgid "Hari Pertabalan Yang di-Pertuan Agong ke-16"
242
+ msgstr "Day of Installation of the 16th Yang di-Pertuan Agong"
243
+
244
+ #. Eid al-Fitr (additional holiday).
245
+ msgid "Hari Raya Puasa (pergantian hari)"
246
+ msgstr "Eid al-Fitr (additional holiday)"
247
+
248
+ #. Additional holiday in commemoration of the 2017 SEA Games.
249
+ msgid "Cuti tambahan sempena memperingati SAT 2017"
250
+ msgstr "Additional holiday in commemoration of the 2017 SEA Games"
Binary file
@@ -0,0 +1,250 @@
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/python-holidays
11
+ # License: MIT (see LICENSE file)
12
+ #
13
+ # Malaysia holidays.
14
+ #
15
+ msgid ""
16
+ msgstr ""
17
+ "Project-Id-Version: Python Holidays 0.49\n"
18
+ "POT-Creation-Date: 2024-04-28 21:03+0300\n"
19
+ "PO-Revision-Date: 2024-04-28 21:06+0300\n"
20
+ "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
21
+ "Language-Team: Python Holidays Localization Team\n"
22
+ "Language: ms_MY\n"
23
+ "MIME-Version: 1.0\n"
24
+ "Content-Type: text/plain; charset=UTF-8\n"
25
+ "Content-Transfer-Encoding: 8bit\n"
26
+ "Generated-By: Lingva 5.0.2\n"
27
+ "X-Generator: Poedit 3.4.2\n"
28
+
29
+ #. %s (estimated).
30
+ #, c-format
31
+ msgid "%s (anggaran)"
32
+ msgstr ""
33
+
34
+ #. %s (in lieu).
35
+ #, c-format
36
+ msgid "Cuti %s"
37
+ msgstr ""
38
+
39
+ #. %s (observed, estimated).
40
+ #, c-format
41
+ msgid "Cuti %s (anggaran)"
42
+ msgstr ""
43
+
44
+ #. Chinese New Year.
45
+ msgid "Tahun Baharu Cina"
46
+ msgstr ""
47
+
48
+ #. Chinese New Year (Second Day).
49
+ msgid "Tahun Baharu Cina (Hari Kedua)"
50
+ msgstr ""
51
+
52
+ #. Vesak Day.
53
+ msgid "Hari Wesak"
54
+ msgstr ""
55
+
56
+ #. Labor Day.
57
+ msgid "Hari Pekerja"
58
+ msgstr ""
59
+
60
+ #. Birthday of HM Yang di-Pertuan Agong.
61
+ msgid "Hari Keputeraan Rasmi Seri Paduka Baginda Yang di-Pertuan Agong"
62
+ msgstr ""
63
+
64
+ #. National Day.
65
+ msgid "Hari Kebangsaan"
66
+ msgstr ""
67
+
68
+ #. Malaysia Day.
69
+ msgid "Hari Malaysia"
70
+ msgstr ""
71
+
72
+ #. Christmas Day.
73
+ msgid "Hari Krismas"
74
+ msgstr ""
75
+
76
+ #. Islamic New Year.
77
+ msgid "Awal Muharam"
78
+ msgstr ""
79
+
80
+ #. Prophet Muhammad's Birthday.
81
+ msgid "Hari Keputeraan Nabi Muhammad S.A.W."
82
+ msgstr ""
83
+
84
+ #. Eid al-Fitr.
85
+ msgid "Hari Raya Puasa"
86
+ msgstr ""
87
+
88
+ #. Eid al-Fitr (Second Day).
89
+ msgid "Hari Raya Puasa (Hari Kedua)"
90
+ msgstr ""
91
+
92
+ #. Eid al-Adha.
93
+ msgid "Hari Raya Qurban"
94
+ msgstr ""
95
+
96
+ #. Deepavali.
97
+ msgid "Hari Deepavali"
98
+ msgstr ""
99
+
100
+ #. Thaipusam.
101
+ msgid "Hari Thaipusam"
102
+ msgstr ""
103
+
104
+ #. Birthday of the Sultan of Johor.
105
+ msgid "Hari Keputeraan Sultan Johor"
106
+ msgstr ""
107
+
108
+ #. The Sultan of Johor Hol.
109
+ msgid "Hari Hol Almarhum Sultan Iskandar"
110
+ msgstr ""
111
+
112
+ #. Beginning of Ramadan.
113
+ msgid "Awal Ramadan"
114
+ msgstr ""
115
+
116
+ #. Birthday of The Sultan of Kedah.
117
+ msgid "Hari Keputeraan Sultan Kedah"
118
+ msgstr ""
119
+
120
+ #. Isra' and Mi'raj.
121
+ msgid "Israk dan Mikraj"
122
+ msgstr ""
123
+
124
+ #. Eid al-Adha (Second Day).
125
+ msgid "Hari Raya Qurban (Hari Kedua)"
126
+ msgstr ""
127
+
128
+ #. Birthday of the Sultan of Kelantan.
129
+ msgid "Hari Keputeraan Sultan Kelantan"
130
+ msgstr ""
131
+
132
+ #. Nuzul Al-Quran Day.
133
+ msgid "Hari Nuzul Al-Quran"
134
+ msgstr ""
135
+
136
+ #. New Year's Day.
137
+ msgid "Tahun Baharu"
138
+ msgstr ""
139
+
140
+ #. Federal Territory Day.
141
+ msgid "Hari Wilayah Persekutuan"
142
+ msgstr ""
143
+
144
+ #. Pesta Kaamatan.
145
+ msgid "Pesta Kaamatan"
146
+ msgstr ""
147
+
148
+ #. Declaration of Independence Day.
149
+ msgid "Hari Pengisytiharan Tarikh Kemerdekaan"
150
+ msgstr ""
151
+
152
+ #. Declaration of Malacca as a Historical City.
153
+ msgid "Hari Perisytiharan Melaka Sebagai Bandaraya Bersejarah"
154
+ msgstr ""
155
+
156
+ #. Birthday of the Governor of Malacca.
157
+ msgid "Hari Jadi Yang di-Pertua Negeri Melaka"
158
+ msgstr ""
159
+
160
+ #. Birthday of the Sultan of Negeri Sembilan.
161
+ msgid "Hari Keputeraan Yang di-Pertuan Besar Negeri Sembilan"
162
+ msgstr ""
163
+
164
+ #. The Sultan of Pahang Hol.
165
+ msgid "Hari Hol Sultan Pahang"
166
+ msgstr ""
167
+
168
+ #. Birthday of the Sultan of Pahang.
169
+ msgid "Hari Keputeraan Sultan Pahang"
170
+ msgstr ""
171
+
172
+ #. Birthday of the Raja of Perlis.
173
+ msgid "Hari Ulang Tahun Keputeraan Raja Perlis"
174
+ msgstr ""
175
+
176
+ #. George Town Heritage Day.
177
+ msgid "Hari Ulang Tahun Perisytiharan Tapak Warisan Dunia"
178
+ msgstr ""
179
+
180
+ #. Birthday of the Governor of Penang.
181
+ msgid "Hari Jadi Yang di-Pertua Negeri Pulau Pinang"
182
+ msgstr ""
183
+
184
+ #. Birthday of the Sultan of Perak.
185
+ msgid "Hari Keputeraan Sultan Perak"
186
+ msgstr ""
187
+
188
+ #. Good Friday.
189
+ msgid "Good Friday"
190
+ msgstr ""
191
+
192
+ #. Birthday of the Governor of Sabah.
193
+ msgid "Hari Jadi Yang di-Pertua Negeri Sabah"
194
+ msgstr ""
195
+
196
+ #. Christmas Eve.
197
+ msgid "Christmas Eve"
198
+ msgstr ""
199
+
200
+ #. Birthday of The Sultan of Selangor.
201
+ msgid "Hari Keputeraan Sultan Selangor"
202
+ msgstr ""
203
+
204
+ #. Dayak Festival Day.
205
+ msgid "Perayaan Hari Gawai Dayak"
206
+ msgstr ""
207
+
208
+ #. Birthday of the Governor of Sarawak.
209
+ msgid "Hari Jadi Yang di-Pertua Negeri Sarawak"
210
+ msgstr ""
211
+
212
+ #. Sarawak Independence Day.
213
+ msgid "Hari Kemerdekaan Sarawak"
214
+ msgstr ""
215
+
216
+ #. Anniversary of the Installation of the Sultan of Terengganu.
217
+ msgid "Hari Ulang Tahun Pertabalan Sultan Terengganu"
218
+ msgstr ""
219
+
220
+ #. Birthday of the Sultan of Terengganu.
221
+ msgid "Hari Keputeraan Sultan Terengganu"
222
+ msgstr ""
223
+
224
+ #. Arafat Day.
225
+ msgid "Hari Arafah"
226
+ msgstr ""
227
+
228
+ #. General election additional holiday.
229
+ msgid "Cuti Peristiwa (pilihan raya umum)"
230
+ msgstr ""
231
+
232
+ #. Malaysia Cup Holiday.
233
+ msgid "Cuti Piala Malaysia"
234
+ msgstr ""
235
+
236
+ #. Day of Installation of the 15th Yang di-Pertuan Agong.
237
+ msgid "Hari Pertabalan Yang di-Pertuan Agong ke-15"
238
+ msgstr ""
239
+
240
+ #. Day of Installation of the 16th Yang di-Pertuan Agong.
241
+ msgid "Hari Pertabalan Yang di-Pertuan Agong ke-16"
242
+ msgstr ""
243
+
244
+ #. Eid al-Fitr (additional holiday).
245
+ msgid "Hari Raya Puasa (pergantian hari)"
246
+ msgstr ""
247
+
248
+ #. Additional holiday in commemoration of the 2017 SEA Games.
249
+ msgid "Cuti tambahan sempena memperingati SAT 2017"
250
+ msgstr ""
holidays/mixins.py ADDED
@@ -0,0 +1,31 @@
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/python-holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+
14
+ from typing import Tuple
15
+
16
+
17
+ class PreferredDiscretionaryHolidays:
18
+ """A mixin for setting preferred discretionary holidays.
19
+
20
+ See :class:`holidays.countries.hongkong.HongKong` for an example.
21
+ """
22
+
23
+ default_preferred_discretionary_holidays: Tuple[str, ...] = ()
24
+ """Preferred discretionary holidays defaults."""
25
+
26
+ def __init__(self, preferred_discretionary_holidays):
27
+ self.preferred_discretionary_holidays = set(
28
+ preferred_discretionary_holidays
29
+ if preferred_discretionary_holidays
30
+ else self.default_preferred_discretionary_holidays
31
+ )
@@ -11,14 +11,13 @@
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
14
- from datetime import timedelta as td
15
14
  from typing import Dict, Optional, Tuple, Set
16
15
 
17
- from holidays.calendars.gregorian import MON, TUE, WED, THU, FRI, SAT, SUN
16
+ from holidays.calendars.gregorian import MON, TUE, WED, THU, FRI, SAT, SUN, _timedelta
18
17
  from holidays.holiday_base import DateArg, HolidayBase
19
18
 
20
19
 
21
- class ObservedRule(Dict[int, int]):
20
+ class ObservedRule(Dict[int, Optional[int]]):
22
21
  __slots__ = ()
23
22
 
24
23
  def __add__(self, other):
@@ -54,6 +53,7 @@ SAT_TO_NEXT_MON = ObservedRule({SAT: +2})
54
53
  SAT_TO_NEXT_TUE = ObservedRule({SAT: +3})
55
54
  SAT_TO_NEXT_SUN = ObservedRule({SAT: +1})
56
55
  SAT_TO_NEXT_WORKDAY = ObservedRule({SAT: +7})
56
+ SAT_TO_NONE = ObservedRule({SAT: None})
57
57
 
58
58
  SUN_TO_NEXT_MON = ObservedRule({SUN: +1})
59
59
  SUN_TO_NEXT_TUE = ObservedRule({SUN: +2})
@@ -106,26 +106,31 @@ class ObservedHolidayBase(HolidayBase):
106
106
  return self._observed_since is None or self._year >= self._observed_since
107
107
 
108
108
  def _get_next_workday(self, dt: date, delta: int = +1) -> date:
109
- dt_work = dt + td(days=delta)
109
+ dt_work = _timedelta(dt, delta)
110
110
  while dt_work.year == self._year:
111
111
  if dt_work in self or self._is_weekend(dt_work): # type: ignore[operator]
112
- dt_work += td(days=delta)
112
+ dt_work = _timedelta(dt_work, delta)
113
113
  else:
114
114
  return dt_work
115
115
  return dt
116
116
 
117
- def _get_observed_date(self, dt: date, rule: ObservedRule) -> date:
117
+ def _get_observed_date(self, dt: date, rule: ObservedRule) -> Optional[date]:
118
118
  delta = rule.get(dt.weekday(), 0)
119
- if delta != 0:
120
- if abs(delta) == 7:
121
- dt = self._get_next_workday(dt, delta // 7)
122
- else:
123
- dt += td(days=delta)
119
+ if delta:
120
+ return (
121
+ self._get_next_workday(dt, delta // 7)
122
+ if abs(delta) == 7
123
+ else _timedelta(dt, delta)
124
+ )
125
+ # Goes after `if delta` case as a less probable.
126
+ elif delta is None:
127
+ return None
128
+
124
129
  return dt
125
130
 
126
131
  def _add_observed(
127
132
  self, dt: DateArg, name: Optional[str] = None, rule: Optional[ObservedRule] = None
128
- ) -> Tuple[bool, date]:
133
+ ) -> Tuple[bool, Optional[date]]:
129
134
  dt = dt if isinstance(dt, date) else date(self._year, *dt)
130
135
 
131
136
  if not self.observed or not self._is_observed(dt):
@@ -135,6 +140,11 @@ class ObservedHolidayBase(HolidayBase):
135
140
  if dt_observed == dt:
136
141
  return False, dt
137
142
 
143
+ # SAT_TO_NONE and similar cases.
144
+ if dt_observed is None:
145
+ self.pop(dt)
146
+ return False, None
147
+
138
148
  estimated_label = self.tr(getattr(self, "estimated_label", ""))
139
149
  observed_label = self.tr(
140
150
  getattr(
@@ -159,7 +169,9 @@ class ObservedHolidayBase(HolidayBase):
159
169
 
160
170
  return True, dt_observed
161
171
 
162
- def _move_holiday(self, dt: date, rule: Optional[ObservedRule] = None) -> Tuple[bool, date]:
172
+ def _move_holiday(
173
+ self, dt: date, rule: Optional[ObservedRule] = None
174
+ ) -> Tuple[bool, Optional[date]]:
163
175
  is_observed, dt_observed = self._add_observed(dt, rule=rule)
164
176
  if is_observed:
165
177
  self.pop(dt)
holidays/registry.py CHANGED
@@ -121,6 +121,7 @@ COUNTRIES: RegistryDict = {
121
121
  "northern_mariana_islands": ("NorthernMarianaIslands", "MP", "MNP", "HolidaysMP"),
122
122
  "norway": ("Norway", "NO", "NOR"),
123
123
  "pakistan": ("Pakistan", "PK", "PAK"),
124
+ "palau": ("Palau", "PW", "PLW"),
124
125
  "panama": ("Panama", "PA", "PAN"),
125
126
  "papua_new_guinea": ("PapuaNewGuinea", "PG", "PNG"),
126
127
  "paraguay": ("Paraguay", "PY", "PRY"),
@@ -173,6 +174,7 @@ COUNTRIES: RegistryDict = {
173
174
 
174
175
  FINANCIAL: RegistryDict = {
175
176
  "european_central_bank": ("EuropeanCentralBank", "ECB", "TAR"),
177
+ "ice_futures_europe": ("ICEFuturesEurope", "IFEU"),
176
178
  "ny_stock_exchange": ("NewYorkStockExchange", "NYSE", "XNYS"),
177
179
  }
178
180