Files
Time-Series-Analysis/.venv/lib/python3.12/site-packages/holidays/countries/cabo_verde.py
2025-07-30 18:53:50 +03:00

294 lines
11 KiB
Python

# 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.constants import OPTIONAL, PUBLIC
from holidays.groups import ChristianHolidays, InternationalHolidays
from holidays.holiday_base import HolidayBase
class CaboVerde(HolidayBase, ChristianHolidays, InternationalHolidays):
"""Cabo Verde holidays.
References:
* [Public holidays in Cape Verde](https://en.wikipedia.org/wiki/Public_holidays_in_Cape_Verde)
* [Legislação Municipal Cabo-Verdiana](https://web.archive.org/web/20180820172827/http://www.interface.gov.cv/index.php?option=com_docman&task=doc_download&gid=12&Itemid=314)
* [Feriados Bancários - Banco de Cabo Verde](https://web.archive.org/web/20250629042854/https://www.bcv.cv/pt/SistemadePagamentos/feriados_bancarios/Paginas/FeriadosBancarios.aspx)
* [Feriados Públicos - Feel Cabo Verde](https://web.archive.org/web/20250419201823/https://feelcaboverde.com/feriados-publicos/)
* [Public Holidays - Feel Cape Verde](https://web.archive.org/web/20250419202739/https://feelcaboverde.com/en/public-holidays-cape-verde/)
* [Democracy Day](https://web.archive.org/web/20250420093850/https://cmsv.cv/dia-da-liberdade-e-democracia-de-cabo-verde/)
"""
country = "CV"
default_language = "pt_CV"
start_year = 1976
subdivisions = (
"BR", # Brava.
"BV", # Boa Vista.
"CA", # Santa Catarina.
"CF", # Santa Catarina do Fogo.
"CR", # Santa Cruz.
"MA", # Maio.
"MO", # Mosteiros.
"PA", # Paul.
"PN", # Porto Novo.
"PR", # Praia.
"RB", # Ribeira Brava
"RG", # Ribeira Grande.
"RS", # Ribeira Grande de Santiago.
"SD", # São Domingos.
"SF", # São Filipe.
"SL", # Sal.
"SM", # São Miguel.
"SO", # São Lourenço dos Órgãos.
"SS", # São Salvador do Mundo.
"SV", # São Vicente.
"TA", # Tarrafal.
"TS", # Tarrafal de São Nicolau.
)
subdivisions_aliases = {
"Brava": "BR",
"Boa Vista": "BV",
"Santa Catarina": "CA",
"Santa Catarina do Fogo": "CF",
"Santa Cruz": "CR",
"Maio": "MA",
"Mosteiros": "MO",
"Paul": "PA",
"Porto Novo": "PN",
"Praia": "PR",
"Ribeira Brava": "RB",
"Ribeira Grande": "RG",
"Ribeira Grande de Santiago": "RS",
"São Domingos": "SD",
"São Filipe": "SF",
"Sal": "SL",
"São Miguel": "SM",
"São Lourenço dos Órgãos": "SO",
"São Salvador do Mundo": "SS",
"São Vicente": "SV",
"Tarrafal": "TA",
"Tarrafal de São Nicolau": "TS",
}
supported_categories = (OPTIONAL, PUBLIC)
supported_languages = ("de", "en_US", "es", "fr", "pt_CV")
def __init__(self, *args, **kwargs) -> None:
ChristianHolidays.__init__(self)
InternationalHolidays.__init__(self)
super().__init__(*args, **kwargs)
def _populate_public_holidays(self):
# New Year's Day.
self._add_new_years_day(tr("Ano Novo"))
# Law # 95/V/99 of March 22nd.
if self._year >= 2000:
# Democracy and Freedom Day.
self._add_holiday_jan_13(tr("Dia da Liberdade e da Democracia"))
# National Heroes Day.
self._add_holiday_jan_20(tr("Dia da Nacionalidade e dos Heróis Nacionais"))
# Ash Wednesday.
self._add_ash_wednesday(tr("Quarta-feira de Cinzas"))
# Good Friday.
self._add_good_friday(tr("Sexta-feira Santa"))
# Easter Sunday.
self._add_easter_sunday(tr("Páscoa"))
# Worker's Day.
self._add_labor_day(tr("Dia do Trabalhador"))
# Law # 69/VI/2005 of May 31st.
if self._year >= 2005:
# International Children's Day.
self._add_childrens_day(tr("Dia Mundial da Criança"))
# Independence Day.
self._add_holiday_jul_5(tr("Dia da Independência Nacional"))
# Assumption Day.
self._add_assumption_of_mary_day(tr("Dia da Assunção"))
# All Saints' Day.
self._add_all_saints_day(tr("Dia de Todos os Santos"))
# Christmas Day.
self._add_christmas_day(tr("Dia do Natal"))
def _populate_optional_holidays(self):
# Holy Thursday.
self._add_holy_thursday(tr("Quinta-Feira Santa"))
# Mother's Day.
self._add_holiday_2nd_sun_of_may(tr("Dia das Mães"))
# Father's Day.
self._add_holiday_3rd_sun_of_jun(tr("Dia dos Pais"))
def _populate_subdiv_br_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Brava Municipality Day.
self._add_holiday_jun_24(tr("Dia do Município da Brava"))
def _populate_subdiv_bv_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Boa Vista Municipality Day.
self._add_holiday_jul_4(tr("Dia do Município da Boa Vista"))
def _populate_subdiv_ca_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1982:
# Santa Catarina de Santiago Municipality Day.
self._add_holiday_nov_25(tr("Dia do Município de Santa Catarina de Santiago"))
def _populate_subdiv_cf_public_holidays(self):
# Law # 66/VI/2005 of May 9th.
if self._year >= 2005:
# Santa Catarina do Fogo Municipality Day.
self._add_holiday_nov_25(tr("Dia do Município de Santa Catarina do Fogo"))
def _populate_subdiv_cr_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Santa Cruz Municipality Day.
self._add_holiday_jul_25(tr("Dia do Município de Santa Cruz"))
def _populate_subdiv_ma_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Maio Municipality Day.
self._add_holiday_sep_8(tr("Dia do Município do Maio"))
def _populate_subdiv_mo_public_holidays(self):
# Law # 23/IV/91 of December 30th.
if self._year >= 1992:
# Mosteiros Municipality Day.
self._add_holiday_aug_15(tr("Dia do Município dos Mosteiros"))
def _populate_subdiv_pa_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Santo Antão Island Day.
self._add_holiday_jan_17(tr("Dia da Ilha de Santo Antão"))
# Paúl Municipality Day.
self._add_holiday_jun_13(tr("Dia do Município do Paúl"))
def _populate_subdiv_pn_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Santo Antão Island Day.
self._add_holiday_jan_17(tr("Dia da Ilha de Santo Antão"))
# Porto Novo Municipality Day.
self._add_holiday_sep_2(tr("Dia do Município do Porto Novo"))
def _populate_subdiv_pr_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Praia Municipality Day.
self._add_holiday_may_19(tr("Dia do Município da Praia"))
def _populate_subdiv_rb_public_holidays(self):
# Law # 67/VI/2005 of May 9th.
if self._year >= 2005:
# Ribeira Brava Municipality Day.
self._add_holiday_dec_6(tr("Dia do Município de Ribeira Brava"))
def _populate_subdiv_rg_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Santo Antão Island Day.
self._add_holiday_jan_17(tr("Dia da Ilha de Santo Antão"))
# Ribeira Grande Municipality Day.
self._add_holiday_may_7(tr("Dia do Município de Ribeira Grande"))
def _populate_subdiv_rs_public_holidays(self):
# Law # 63/VI/2005 of May 9th.
if self._year >= 2006:
# Ribeira Grande de Santiago Municipality Day.
self._add_holiday_jan_31(tr("Dia do Município de Ribeira Grande de Santiago"))
def _populate_subdiv_sd_public_holidays(self):
# Law # 96/IV/93 of December 31st.
if self._year >= 1994:
# São Domingos Municipality Day.
self._add_holiday_mar_13(tr("Dia do Município de São Domingos"))
def _populate_subdiv_sf_public_holidays(self):
# Law # 23/IV/91 of December 30th.
if self._year >= 1992:
# São Filipe Municipality Day.
self._add_holiday_may_1(tr("Dia do Município de São Filipe"))
def _populate_subdiv_sl_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Sal Municipality Day.
self._add_holiday_sep_15(tr("Dia do Município do Sal"))
def _populate_subdiv_sm_public_holidays(self):
# Law # 11/V/96 of November 11th.
if self._year >= 1997:
# São Miguel Municipality Day.
self._add_holiday_sep_29(tr("Dia do Município de São Miguel"))
def _populate_subdiv_so_public_holidays(self):
# Law # 64/VI/2005 of May 9th.
if self._year >= 2005:
# São Lourenço dos Órgãos Municipality Day.
self._add_holiday_may_9(tr("Dia do Município de São Lourenço dos Órgãos"))
def _populate_subdiv_ss_public_holidays(self):
# Law # 65/VI/2005 of May 9th.
if self._year >= 2005:
# São Salvador do Mundo Municipality Day.
self._add_holiday_jul_19(tr("Dia do Município de São Salvador do Mundo"))
def _populate_subdiv_sv_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# São Vicente Municipality Day.
self._add_holiday_jan_22(tr("Dia do Município de São Vicente"))
# Carnival Tuesday.
self._add_carnival_tuesday(tr("Terça-feira de Carnaval"))
def _populate_subdiv_ta_public_holidays(self):
# Law # 93/82 of November 6th.
if self._year >= 1983:
# Tarrafal de Santiago Municipality Day.
self._add_holiday_jan_15(tr("Dia do Município do Tarrafal de Santiago"))
def _populate_subdiv_ts_public_holidays(self):
# Law # 67/VI/2005 of May 9th.
if self._year >= 2005:
# Tarrafal de São Nicolau Municipality Day.
self._add_holiday_aug_2(tr("Dia do Município do Tarrafal de São Nicolau"))
class CV(CaboVerde):
pass
class CPV(CaboVerde):
pass