Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"Manitoba"
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_family_day(year, "Louis Riel Day")),
(self.get_victoria_day(year)),
(self.get_civic_holiday(year)),
(self.get_thanksgiving(year)),
])
return days
@iso_register('CA-NB')
class NewBrunswick(AugustCivicHolidayMixin, Canada):
"New Brunswick"
FIXED_HOLIDAYS = Canada.FIXED_HOLIDAYS + (
(11, 11, "Remembrance Day"),
)
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.append(self.get_civic_holiday(year))
return days
@iso_register('CA-NS')
class NovaScotia(RemembranceDayShiftMixin, LateFamilyDayMixin, Canada):
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_family_day(year)),
(self.get_victoria_day(year)),
(self.get_civic_holiday(year)),
(self.get_thanksgiving(year)),
])
days.extend(self.get_remembrance_day(year))
return days
@iso_register('CA-MB')
class Manitoba(LateFamilyDayMixin, VictoriaDayMixin,
AugustCivicHolidayMixin, ThanksgivingMixin,
Canada):
"Manitoba"
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_family_day(year, "Louis Riel Day")),
(self.get_victoria_day(year)),
(self.get_civic_holiday(year)),
(self.get_thanksgiving(year)),
])
return days
@iso_register('CA-NB')
class NewBrunswick(AugustCivicHolidayMixin, Canada):
)
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_family_day(year)),
(self.get_victoria_day(year)),
(self.get_thanksgiving(year)),
])
return days
@iso_register('CA-SK')
class Saskatchewan(LateFamilyDayMixin, VictoriaDayMixin,
RemembranceDayShiftMixin, AugustCivicHolidayMixin,
ThanksgivingMixin, Canada):
"Saskatchewan"
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_family_day(year)),
(self.get_victoria_day(year)),
(self.get_civic_holiday(year)),
(self.get_thanksgiving(year)),
])
days.extend(self.get_remembrance_day(year))
return days
@iso_register('CA-MB')
"Quebec"
include_easter_monday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_victoria_day(year)),
(self.get_thanksgiving(year)),
])
days.extend(self.get_st_jean(year))
return days
@iso_register('CA-BC')
class BritishColumbia(VictoriaDayMixin, AugustCivicHolidayMixin,
ThanksgivingMixin, Canada):
"British Columbia"
include_good_friday = True
FIXED_HOLIDAYS = Canada.FIXED_HOLIDAYS + (
(11, 11, "Remembrance Day"),
)
def get_family_day(self, year):
"""
Return Family Day for British Columbia.
From 2013 to 2018, Family Day was on 2nd MON of February
As of 2019, Family Day happens on 3rd MON of February
"""
label = "Family Day"
@iso_register('CA-NS')
class NovaScotia(RemembranceDayShiftMixin, LateFamilyDayMixin, Canada):
"Nova Scotia"
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend(self.get_remembrance_day(year))
if year >= 2015:
days.append(self.get_family_day(year, "Viola Desmond Day"))
return days
@iso_register('CA-PE')
class PrinceEdwardIsland(LateFamilyDayMixin, RemembranceDayShiftMixin, Canada):
"Prince Edward Island"
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.append((self.get_family_day(year, "Islander Day")))
days.extend(self.get_remembrance_day(year))
return days
@iso_register('CA-NL')
class Newfoundland(Canada):
"Newfoundland and Labrador"
include_good_friday = True
days.append((self.get_family_day(year, "Islander Day")))
days.extend(self.get_remembrance_day(year))
return days
@iso_register('CA-NL')
class Newfoundland(Canada):
"Newfoundland and Labrador"
include_good_friday = True
@iso_register('CA-YT')
class Yukon(VictoriaDayMixin, ThanksgivingMixin, Canada):
"Yukon"
FIXED_HOLIDAYS = Canada.FIXED_HOLIDAYS + (
(11, 11, "Remembrance Day"),
)
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_nth_weekday_in_month(year, 8, MON, 3), "Discovery Day"),
(self.get_victoria_day(year)),
(self.get_thanksgiving(year)),
])
return days
@iso_register('CA-NT')
def get_variable_days(self, year):
days = super().get_variable_days(year)
if year >= 2013:
days.append(self.get_family_day(year))
days.extend([
(self.get_victoria_day(year)),
(self.get_civic_holiday(year, "British Columbia Day")),
(self.get_thanksgiving(year)),
])
return days
@iso_register('CA-AB')
class Alberta(LateFamilyDayMixin, VictoriaDayMixin, ThanksgivingMixin, Canada):
"Alberta"
include_good_friday = True
FIXED_HOLIDAYS = Canada.FIXED_HOLIDAYS + (
(11, 11, "Remembrance Day"),
)
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_family_day(year)),
(self.get_victoria_day(year)),
(self.get_thanksgiving(year)),
])
return days
"11th of November; shift to next day"
def get_remembrance_day(self, year):
remembranceday = date(year, 11, 11)
if remembranceday.weekday() in self.get_weekend_days():
days = [(remembranceday, "Remembrance Day"),
(self.find_following_working_day(remembranceday),
"Remembrance Day (Shift)")]
else:
days = [(remembranceday, "Remembrance Day")]
return days
@iso_register('CA-ON')
class Ontario(BoxingDayMixin, ThanksgivingMixin, VictoriaDayMixin,
LateFamilyDayMixin, AugustCivicHolidayMixin,
Canada):
"Ontario"
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_family_day(year)),
(self.get_victoria_day(year)),
(self.get_civic_holiday(year, "Civic Holiday (Not for all)")),
(self.get_thanksgiving(year)),
])
days.extend(self.get_boxing_day(year))
return days
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_nth_weekday_in_month(year, 8, MON, 3), "Discovery Day"),
(self.get_victoria_day(year)),
(self.get_thanksgiving(year)),
])
return days
@iso_register('CA-NT')
class NorthwestTerritories(RemembranceDayShiftMixin, VictoriaDayMixin,
ThanksgivingMixin, Canada):
"Northwest Territories"
FIXED_HOLIDAYS = Canada.FIXED_HOLIDAYS + (
(6, 21, "National Aboriginal Day"),
)
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend([
(self.get_victoria_day(year)),
(self.get_thanksgiving(year)),
])
days.extend(self.get_remembrance_day(year))
return days
"New Brunswick"
FIXED_HOLIDAYS = Canada.FIXED_HOLIDAYS + (
(11, 11, "Remembrance Day"),
)
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.append(self.get_civic_holiday(year))
return days
@iso_register('CA-NS')
class NovaScotia(RemembranceDayShiftMixin, LateFamilyDayMixin, Canada):
"Nova Scotia"
include_good_friday = True
def get_variable_days(self, year):
days = super().get_variable_days(year)
days.extend(self.get_remembrance_day(year))
if year >= 2015:
days.append(self.get_family_day(year, "Viola Desmond Day"))
return days
@iso_register('CA-PE')
class PrinceEdwardIsland(LateFamilyDayMixin, RemembranceDayShiftMixin, Canada):
"Prince Edward Island"