Skip to content

Commit

Permalink
Extend native holiday categories support (#1597)
Browse files Browse the repository at this point in the history
Co-authored-by: ~Jhellico <KJhellico@users.noreply.github.com>
  • Loading branch information
arkid15r and KJhellico committed Dec 20, 2023
1 parent 868f6e6 commit 056766f
Show file tree
Hide file tree
Showing 116 changed files with 737 additions and 893 deletions.
13 changes: 6 additions & 7 deletions holidays/countries/albania.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ def __init__(self, *args, **kwargs):
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
super().__init__(*args, **kwargs)

def _populate(self, year):
super()._populate(year)
def _populate_public_holidays(self):
dts_observed = set()

# New Year's Day.
Expand All @@ -49,11 +48,11 @@ def _populate(self, year):
dts_observed.add(self._add_new_years_day_two(name))

# Summer Day.
if year >= 2004:
if self._year >= 2004:
dts_observed.add(self._add_holiday_mar_14("Summer Day"))

# Nevruz.
if year >= 1996:
if self._year >= 1996:
dts_observed.add(self._add_holiday_mar_22("Nevruz"))

# Easter.
Expand All @@ -64,9 +63,9 @@ def _populate(self, year):
dts_observed.add(self._add_labor_day("May Day"))

# Mother Teresa Day.
if 2004 <= year <= 2017:
if 2004 <= self._year <= 2017:
dts_observed.add(self._add_holiday_oct_19("Mother Teresa Beatification Day"))
elif year >= 2018:
elif self._year >= 2018:
dts_observed.add(self._add_holiday_sep_5("Mother Teresa Canonization Day"))

# Independence Day.
Expand All @@ -76,7 +75,7 @@ def _populate(self, year):
dts_observed.add(self._add_holiday_nov_29("Liberation Day"))

# National Youth Day.
if year >= 2009:
if self._year >= 2009:
dts_observed.add(self._add_holiday_dec_8("National Youth Day"))

# Christmas Day.
Expand Down
14 changes: 6 additions & 8 deletions holidays/countries/algeria.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,25 +32,23 @@ def __init__(self, *args, **kwargs):
IslamicHolidays.__init__(self)
super().__init__(*args, **kwargs)

def _populate(self, year):
super()._populate(year)

def _populate_public_holidays(self):
# New Year's Day.
self._add_new_years_day(tr("رأس السنة الميلادية"))

# In January 2018, Algeria declared Yennayer a national holiday.
if year >= 2018:
if self._year >= 2018:
# Amazigh New Year / Yennayer.
self._add_holiday_jan_12(tr("رأس السنة الأمازيغية"))

# Labor Day.
self._add_labor_day(tr("عيد العمال"))

if year >= 1962:
if self._year >= 1962:
# Independence Day.
self._add_holiday_jul_5(tr("عيد الإستقلال"))

if year >= 1963:
if self._year >= 1963:
# Revolution Day.
self._add_holiday_nov_1(tr("عيد الثورة"))

Expand All @@ -70,14 +68,14 @@ def _populate(self, year):
self._add_eid_al_fitr_day(tr("عيد الفطر"))
# Eid al-Fitr Holiday.
self._add_eid_al_fitr_day_two(tr("عطلة عيد الفطر"))
if year >= 2024:
if self._year >= 2024:
self._add_eid_al_fitr_day_three(tr("عطلة عيد الفطر"))

# Eid al-Adha - Scarfice Festive.
self._add_eid_al_adha_day(tr("عيد الأضحى"))
# Eid al-Adha Holiday.
self._add_eid_al_adha_day_two(tr("عطلة عيد الأضحى"))
if year >= 2023:
if self._year >= 2023:
self._add_eid_al_adha_day_three(tr("عطلة عيد الأضحى"))


Expand Down
4 changes: 2 additions & 2 deletions holidays/countries/american_samoa.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ class HolidaysAS(US):
country = "AS"
subdivisions = () # Override US subdivisions.

def _populate(self, year: int) -> None:
def _populate_public_holidays(self) -> None:
self.subdiv = "AS"
super()._populate(year)
super()._populate_public_holidays()


class AS(HolidaysAS):
Expand Down
4 changes: 1 addition & 3 deletions holidays/countries/andorra.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,7 @@ def __init__(self, *args, **kwargs) -> None:
InternationalHolidays.__init__(self)
super().__init__(*args, **kwargs)

def _populate(self, year: int) -> None:
super()._populate(year)

def _populate_public_holidays(self) -> None:
# New Year's Day.
self._add_new_years_day("New Year's Day")

Expand Down
38 changes: 18 additions & 20 deletions holidays/countries/angola.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,22 +66,20 @@ def _add_observed(self, dt: date, **kwargs) -> Tuple[bool, date]:
)
return super()._add_observed(dt, **kwargs)

def _populate(self, year):
def _populate_public_holidays(self):
# Decree #5/75.
if year <= 1974:
if self._year <= 1974:
return None

super()._populate(year)

# New Year's Day.
name = self.tr("Dia do Ano Novo")
dt = self._add_new_years_day(name)
if year <= 2011 or year >= 2018:
if self._year <= 2011 or self._year >= 2018:
self._add_observed(dt)
self._add_observed(self._next_year_new_years_day, name=name)

# Law #16/96.
if 1997 <= year <= 2011:
if 1997 <= self._year <= 2011:
self._add_observed(
# Martyrs of Colonial Repression Day.
self._add_holiday_jan_4(tr("Dia dos Mártires da Repressão Colonial"))
Expand All @@ -90,92 +88,92 @@ def _populate(self, year):
name = (
# Beginning of the Armed Struggle for National Liberation Day.
tr("Dia do Início da Luta Armada de Libertação Nacional")
if year >= 2012
if self._year >= 2012
# Beginning of the Armed Struggle Day.
else tr("Dia do Início da Luta Armada")
)
self._add_observed(self._add_holiday_feb_4(name))

# Law #16/96.
if year >= 1997:
if self._year >= 1997:
# Carnival Day.
self._add_observed(self._add_carnival_tuesday(tr("Dia do Carnaval")))

# International Women's Day.
self._add_observed(self._add_womens_day(tr("Dia Internacional da Mulher")))

# Law #11/18.
if year >= 2019:
if self._year >= 2019:
self._add_observed(
# Southern Africa Liberation Day.
self._add_holiday_mar_23(tr("Dia da Libertação da África Austral"))
)

# Law #7/03.
if year >= 2003:
if self._year >= 2003:
self._add_observed(
# Peace and National Reconciliation Day.
self._add_holiday_apr_4(tr("Dia da Paz e Reconciliação Nacional"))
)

# Law #16/96.
if year >= 1997:
if self._year >= 1997:
# Good Friday.
self._add_good_friday(tr("Sexta-Feira Santa"))

# International Worker's Day.
self._add_observed(self._add_labor_day(tr("Dia Internacional do Trabalhador")))

# Law #1/01.
if 2001 <= year <= 2010:
if 2001 <= self._year <= 2010:
# Africa Day.
self._add_observed(self._add_africa_day(tr("Dia da África")))

# Law #16/96.
if 1997 <= year <= 2010:
if 1997 <= self._year <= 2010:
# International Children's Day.
self._add_observed(self._add_childrens_day(tr("Dia Internacional da Criança")))

# Decree #92/80.
if year >= 1980:
if self._year >= 1980:
self._add_observed(
# National Heroes' Day.
self._add_holiday_sep_17(tr("Dia do Fundador da Nação e do Herói Nacional"))
)

# All Souls' Day.
dt = self._add_all_souls_day(tr("Dia dos Finados"))
if year <= 2010 or year >= 2018:
if self._year <= 2010 or self._year >= 2018:
self._add_observed(dt)

name = (
# National Independence Day.
tr("Dia da Independência Nacional")
if year >= 1996
if self._year >= 1996
# Independence Day.
else tr("Dia da Independência")
)
self._add_observed(self._add_holiday_nov_11(name))

# Decree # 7/92.
if year <= 1991:
if self._year <= 1991:
# Date of Founding of MPLA - Labor Party.
self._add_holiday_dec_10(tr("Data da Fundacao do MPLA - Partido do Trabalho"))

name = (
# Christmas and Family Day.
tr("Dia de Natal e da Família")
if year >= 2011
if self._year >= 2011
else (
# Christmas Day.
tr("Dia do Natal")
if year >= 1996
if self._year >= 1996
# Family Day.
else tr("Dia da Família")
)
)
dt = self._add_christmas_day(name)
if year <= 2010 or year >= 2018:
if self._year <= 2010 or self._year >= 2018:
self._add_observed(dt)


Expand Down
Loading

0 comments on commit 056766f

Please sign in to comment.