impuls.tools.polish_calendar_exceptions

impuls.tools.polish_calendar_exceptions.RESOURCE = <impuls.resource.HTTPResource object>

Default resource with CSV with Polish calendar exceptions from https://docs.google.com/spreadsheets/d/1kSCBQyIE8bz2NgqpzyS75I7ndnlp4dhD3TmEY2jO7K0. Required by load_exceptions().

impuls.tools.polish_calendar_exceptions.load_exceptions(resource: ManagedResource, region: PolishRegion) dict[Date, CalendarException]

Loads all known calendar exceptions for a specific voivodeship from the downloaded RESOURCE.

class impuls.tools.polish_calendar_exceptions.CalendarException(typ: frozenset[CalendarExceptionType], summer_holiday: bool = False, holiday_name: str = '')

Bases: NamedTuple

Describes a single calendar exception

holiday_name: str

Alias for field number 2

summer_holiday: bool

Alias for field number 1

typ: frozenset[CalendarExceptionType]

Alias for field number 0

class impuls.tools.polish_calendar_exceptions.PolishRegion

Bases: Enum

Identifies a specific voivodeship in Poland

DOLNOSLASKIE = '02'
KUJAWSKO_POMORSKIE = '04'
LODZKIE = '10'
LUBELSKIE = '06'
LUBUSKIE = '08'
MALOPOLSKIE = '12'
MAZOWIECKIE = '14'
OPOLSKIE = '16'
PODKARPACKIE = '18'
PODLASKIE = '20'
POMORSKIE = '22'
SLASKIE = '24'
SWIETOKRZYSKIE = '26'
WARMINSKO_MAZURSKIE = '28'
WIELKOPOLSKIE = '30'
ZACHODNIOPOMORSKIE = '32'
class impuls.tools.polish_calendar_exceptions.CalendarExceptionType

Bases: Enum

Identifies the type (“severity”) of calendar exception

COMMERCIAL_SUNDAY = 'commercial_sunday'
HOLIDAY = 'holiday'
NO_SCHOOL = 'no_school'