Opa_omroep-automatiseren/venv/lib/python3.8/site-packages/holidays/countries/honduras.py

145 lines
5.0 KiB
Python
Raw Normal View History

2020-12-27 20:00:11 +00:00
# -*- coding: utf-8 -*-
# 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.
#
# Author: ryanss <ryanssdev@icloud.com> (c) 2014-2017
# dr-prodigy <maurizio.montel@gmail.com> (c) 2017-2020
# Website: https://github.com/dr-prodigy/python-holidays
# License: MIT (see LICENSE file)
from datetime import date
from dateutil.easter import easter
from dateutil.relativedelta import relativedelta as rd, TH, FR, SA, SU
from holidays.constants import JAN, FEB, MAR, APR, MAY, SEP, OCT, \
DEC
from holidays.holiday_base import HolidayBase
class Honduras(HolidayBase):
# https://www.timeanddate.com/holidays/honduras/
def __init__(self, **kwargs):
self.country = "HND"
HolidayBase.__init__(self, **kwargs)
def _populate(self, year):
# New Year's Day
if self.observed and date(year, JAN, 1):
self[date(year, JAN, 1)] = "Año Nuevo [New Year's Day]"
# The Three Wise Men Day
if self.observed and date(year, JAN, 6):
name = "Día de los Reyes Magos [The Three Wise Men Day] (Observed)"
self[date(year, JAN, 6)] = name
# The Three Wise Men Day
if self.observed and date(year, FEB, 3):
name = "Día de la virgen de Suyapa [Our Lady of Suyapa] (Observed)"
self[date(year, FEB, 3)] = name
# The Father's Day
if self.observed and date(year, MAR, 19):
name = "Día del Padre [Father's Day] (Observed)"
self[date(year, MAR, 19)] = name
# Maundy Thursday
self[easter(year) + rd(weekday=TH(-1))
] = "Jueves Santo [Maundy Thursday]"
# Good Friday
self[easter(year) + rd(weekday=FR(-1))
] = "Viernes Santo [Good Friday]"
# Holy Saturday
self[easter(year) + rd(weekday=SA(-1))
] = "Sábado de Gloria [Holy Saturday]"
# Easter Sunday
self[easter(year) + rd(weekday=SU(-1))
] = "Domingo de Resurrección [Easter Sunday]"
# America Day
if self.observed and date(year, APR, 14):
self[date(year, APR, 14)] = "Día de las Américas [America Day]"
# Labor Day
if self.observed and date(year, MAY, 1):
self[date(year, MAY, 1)] = "Día del Trabajo [Labour Day]"
# Mother's Day
may_first = date(int(year), 5, 1)
weekday_seq = may_first.weekday()
mom_day = (14 - weekday_seq)
if self.observed and date(year, MAY, mom_day):
str_day = "Día de la madre [Mother's Day] (Observed)"
self[date(year, MAY, mom_day)] = str_day
# Children's Day
if self.observed and date(year, SEP, 10):
name = "Día del niño [Children day] (Observed)"
self[date(year, SEP, 10)] = name
# Independence Day
if self.observed and date(year, SEP, 15):
name = "Día de la Independencia [Independence Day]"
self[date(year, SEP, 15)] = name
# Teacher's Day
if self.observed and date(year, SEP, 17):
name = "Día del Maestro [Teacher's day] (Observed)"
self[date(year, SEP, 17)] = name
# October Holidays are joined on 3 days starting at October 3 to 6.
# Some companies work medium day and take the rest on saturday.
# This holiday is variant and some companies work normally.
# If start day is weekend is ignored.
# The main objective of this is to increase the tourism.
# https://www.hondurastips.hn/2017/09/20/de-donde-nace-el-feriado-morazanico/
if year <= 2014:
# Morazan's Day
if self.observed and date(year, OCT, 3):
self[date(year, OCT, 3)] = "Día de Morazán [Morazan's Day]"
# Columbus Day
if self.observed and date(year, OCT, 12):
self[date(year, OCT, 12)] = "Día de la Raza [Columbus Day]"
# Amy Day
if self.observed and date(year, OCT, 21):
str_day = "Día de las Fuerzas Armadas [Army Day]"
self[date(year, OCT, 21)] = str_day
else:
# Morazan Weekend
if self.observed and date(year, OCT, 3):
name = "Semana Morazánica [Morazan Weekend]"
self[date(year, OCT, 3)] = name
# Morazan Weekend
if self.observed and date(year, OCT, 4):
name = "Semana Morazánica [Morazan Weekend]"
self[date(year, OCT, 4)] = name
# Morazan Weekend
if self.observed and date(year, OCT, 5):
name = "Semana Morazánica [Morazan Weekend]"
self[date(year, OCT, 5)] = name
# Christmas
self[date(year, DEC, 25)] = "Navidad [Christmas]"
class HN(Honduras):
pass
class HND(Honduras):
pass