1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
# holidays
# --------
# A fast, efficient Python library for generating country, province and state
# specific sets of holidays on the fly. It aims to make determining whether a
# specific date is a holiday as fast and flexible as possible.
#
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
# Website: https://github.com/vacanza/holidays
# License: MIT (see LICENSE file)
from gettext import gettext as tr
from holidays.calendars.gregorian import SUN
from holidays.groups import ChristianHolidays, InternationalHolidays
from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_PREV_SAT
class DRCongo(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
"""Democratic Republic of the Congo holidays.
References:
* <https://en.wikipedia.org/wiki/Public_holidays_in_the_Democratic_Republic_of_the_Congo>
* [Ordonnance n° 79-154](https://web.archive.org/web/20220329181351/http://www.leganet.cd/Legislation/DroitSocial/O.79.154.23.06.1979.htm)
* [Ordonnance n° 14/010](https://web.archive.org/web/20230419184344/http://leganet.cd/Legislation/Divers/Ordonnance.14.10.14.mai.2014.htm)
* [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)
* [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)
"""
country = "CD"
default_language = "fr"
# %s (observed).
observed_label = tr("%s (observé)")
supported_languages = ("en_US", "fr")
# Ordonnance n° 79-154.
start_year = 1980
weekend = {SUN}
def __init__(self, *args, **kwargs) -> None:
ChristianHolidays.__init__(self)
InternationalHolidays.__init__(self)
kwargs.setdefault("observed_rule", SUN_TO_PREV_SAT)
super().__init__(*args, **kwargs)
def _populate_public_holidays(self):
# New Year's Day.
name = tr("Nouvel an")
self._add_new_years_day(name)
self._add_observed(self._next_year_new_years_day, name=name)
# Established on May 10th, 2014 via Ordonnance n° 14/010.
if self._year >= 2015:
# Martyrs' Day.
self._add_observed(self._add_holiday_jan_4(tr("Martyrs de l'indépendance")))
self._add_observed(
# National Hero Laurent Désiré Kabila Day.
self._add_holiday_jan_16(tr("Journée du héros national Laurent Désiré Kabila"))
)
self._add_observed(
# National Hero Patrice Emery Lumumba Day.
self._add_holiday_jan_17(tr("Journée du héros national Patrice Emery Lumumba"))
)
# Established on March 30th, 2023 via Ordonnance n° 23-042.
if self._year >= 2023:
self._add_observed(
self._add_holiday_apr_6(
# Day of the Struggle of Simon Kimbangu and African Consciousness.
tr("Journée du combat de Simon Kimbangu et de la conscience africaine")
)
)
# Labor Day.
self._add_observed(self._add_labor_day(tr("Fête du travail")))
# Renamed on May 10th, 2014 via Ordonnance n° 14/010.
if self._year >= 2014:
self._add_observed(
# Revolution and Armed Forces Day.
self._add_holiday_may_17(tr("Journée de la Révolution et des Forces Armées"))
)
else:
# Armed Forces Day.
self._add_observed(self._add_holiday_nov_17(tr("Fête des Forces armées zaïroises")))
# Removed on May 10th, 2014 via Ordonnance n° 14/010.
if self._year <= 2013:
self._add_observed(
self._add_holiday_may_20(
# Anniversary of the Popular Movement of the Revolution.
tr("Anniversaire du Mouvement populaire de la révolution")
)
)
self._add_observed(
self._add_holiday_jun_24(
# Anniversary of the New Revolutionary Constitution.
tr("Anniversaire de la nouvelle Constitution révolutionnaire")
)
)
# Independence Day.
self._add_observed(self._add_holiday_jun_30(tr("Journée de l'indépendance")))
# Parents' Day.
self._add_observed(self._add_holiday_aug_1(tr("Fête des parents")))
if self._year >= 2024:
self._add_observed(
# Congolese Genocide Memorial Day.
self._add_holiday_aug_2(tr("Journée commémorative du génocide Congolais"))
)
# Removed on May 10th, 2014 via Ordonnance n° 14/010.
if self._year <= 2013:
# Youth Day.
self._add_observed(self._add_holiday_oct_14(tr("Journée de la Jeunesse")))
self._add_observed(
# Anniversary of the Country's Name Change.
self._add_holiday_oct_27(tr("Anniversaire du changement du nom de notre Pays"))
)
# Anniversary of the New Regime.
self._add_observed(self._add_holiday_nov_24(tr("Anniversaire du nouveau régime")))
# Christmas Day.
self._add_observed(self._add_christmas_day(tr("Noël")))
class CD(DRCongo):
pass
class COD(DRCongo):
pass
|