Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
from ..core import WesternCalendar
from ..registry_tools import iso_register
@iso_register('AO')
class Angola(WesternCalendar):
"Angola"
# Civil holiday
include_labour_day = True
labour_day_label = "Dia Internacional do Trabalhador"
# Christian holidays
include_fat_tuesday = True
fat_tuesday_label = "Dia de Carnaval"
include_good_friday = True
include_easter_sunday = True
include_christmas = True
include_all_souls = True
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(2, 4, "Dia do Inicio da Luta Armada"),
(3, 8, "Dia Internacional da Mulher"),
(4, 4, "Dia da Paz"),from datetime import date, timedelta
from ..core import WesternCalendar, MON, SAT, SUN
from ..registry_tools import iso_register
@iso_register("NZ")
class NewZealand(WesternCalendar):
"New Zealand"
include_good_friday = True
include_easter_monday = True
include_boxing_day = True
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(1, 2, "Day after New Year's Day"),
(2, 6, "Waitangi Day"),
(4, 25, "ANZAC Day")
)
def get_queens_birthday(self, year):
return (
NewZealand.get_nth_weekday_in_month(year, 6, MON, 1),
"Queen's Birthday"
)@iso_register('FR')
class France(WesternCalendar):
'France'
# Christian holidays
include_easter_monday = True
include_ascension = True
include_whit_monday = True
include_all_saints = True
include_assumption = True
# Civil holidays
include_labour_day = True
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(5, 8, "Victory in Europe Day"),
(7, 14, "Bastille Day"),
(11, 11, "Armistice Day"),
)
class FranceAlsaceMoselle(France):
"France Alsace/Moselle"
include_good_friday = True
include_boxing_day = Truefrom ..core import WesternCalendar
from ..registry_tools import iso_register
@iso_register('ST')
class SaoTomeAndPrincipe(WesternCalendar):
"São Tomé and Príncipe"
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(2, 3, "Martyr's Day"),
(7, 12, "Independence Day"),
(9, 6, "Armed Forces Day"),
(9, 30, "Agricultural Reform Day"),
(12, 21, "São Tomé Day"),
)
# Civil holidays
include_labour_day = True
# Christian holidays
include_all_saints = Truefrom datetime import date
from ..core import WesternCalendar
from ..registry_tools import iso_register
@iso_register('PT')
class Portugal(WesternCalendar):
'Portugal'
# Christian holidays
include_good_friday = True
include_easter_sunday = True
include_christmas = True
include_immaculate_conception = True
immaculate_conception_label = "Imaculada Conceição"
# Civil holidays
include_labour_day = True
labour_day_label = "Dia do Trabalhador"
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(4, 25, "Dia da Liberdade"),
(6, 10, "Dia de Portugal"),
(8, 15, "Assunção de Nossa Senhora"),from ..core import WesternCalendar
from ..registry_tools import iso_register
@iso_register('MG')
class Madagascar(WesternCalendar):
"Madagascar"
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(3, 29, "Martyrs' Day"),
(6, 26, "Independence Day"),
)
# Civil holidays
include_labour_day = True
# Christian holidays
include_easter_monday = True
include_ascension = True
include_whit_monday = True
include_assumption = True
include_all_saints = Truefrom datetime import date, timedelta
from ..core import WesternCalendar, SUN
from ..registry_tools import iso_register
@iso_register('NL')
class Netherlands(WesternCalendar):
'Netherlands'
include_good_friday = True
include_easter_sunday = True
include_easter_monday = True
include_ascension = True
include_whit_sunday = True
include_whit_monday = True
include_boxing_day = True
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(5, 5, "Liberation Day"),
)
def get_king_queen_day(self, year):
"""27 April unless this is a Sunday in which case it is the 26thfrom datetime import date
from ..core import WesternCalendar, MON
from ..registry_tools import iso_register
@iso_register('GB')
class UnitedKingdom(WesternCalendar):
'United Kingdom'
include_good_friday = True
include_easter_sunday = True
include_easter_monday = True
include_boxing_day = True
shift_new_years_day = True
non_computable_holiday_dict = {
1973: [(date(1973, 11, 14), "Royal wedding"), ],
1977: [(date(1977, 6, 7), "Queen’s Silver Jubilee"), ],
1981: [(date(1981, 7, 29), "Royal wedding"), ],
1999: [(date(1999, 12, 31), "New Year's Eve"), ],
2002: [(date(2002, 6, 3), "Queen’s Golden Jubilee"), ],
2011: [(date(2011, 4, 29), "Royal Wedding"), ],
2012: [(date(2012, 6, 5), "Queen’s Diamond Jubilee"), ],
}@iso_register("BB")
class Barbados(WesternCalendar):
"Barbados"
# Civil holidays
include_labour_day = True
# Christian holidays
include_good_friday = True
include_easter_sunday = True
include_easter_monday = True
include_whit_monday = True
include_boxing_day = True
# All holiday are shifted if on a Sunday
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(1, 21, "Errol Barrow Day"),
(4, 28, "National Heroes Day"),
(8, 1, "Emancipation Day"),
(11, 30, "Independance Day"),
)
def get_kadooment_day(self, year):
"""
First Monday of August.
"""
return (Barbados.get_nth_weekday_in_month(year, 8, MON),
"Kadooment Day")
def get_variable_days(self, year):
"""
Return variable holidays of the Barbados calendar.def get_first_day_of_summer(self, year):
"""It's the first thursday *after* April, 18th.
If April the 18th is a thursday, then it jumps to the 24th.
"""
return WesternCalendar.get_nth_weekday_in_month(
year, 4, THU,
start=date(year, 4, 19))